66
O que é SCADA A sigla SCADA é uma sigla do inglês para Supervisory Control And Data Acquisition, o que significa Controle Supervisório e Aquisição de Dados. Sistemas SCADA servem como interface entre o operador e processos dos mais variados tipos, como máquinas industriais, controladores automáticos e sensores dos mais variados tipos. Com sistemas SCADA são construídos desde aplicativos simples de sensoriamento e automação de pequenas plantas, até "Painéis de Controle" para grandes sistemas como sistemas de geração e distribuição de energia, centrais de controle de tráfego e assim por diante. Um SCADA típico deve oferecer drivers de comunicação com equipamentos (CLPs, RTUs, SDCDs, etc), um sistema para registro contínuo de dados ("datalogger") e uma interface gráfica para usuário, conhecida como "IHM" ou Interface Homem-Máquina. Na IHM são disponibilizados elementos gráficos como botões, ícones e displays, representando o processo real que está sendo monitorado ou controlado. Entre algumas das funções mais utilizadas em sistemas SCADA estão: - Geração de gráficos e relatórios com o histórico do processo; - Detecção de alarmes e registro de eventos em sistemas automatizados; - Controle de processos incluindo envio remoto de parâmetros e set-points, acionamento e comando de equipamentos; - Uso de linguagens de script para desenvolvimento de lógicas de automação O Sistema SCADA pode ser desenvolvido diretamente em linguagem de programação ou utilizando uma suíte de desenvolvimento. Essa suíte é um programa sobre a qual será desenvolvida a aplicação (projeto), assim com uma mesma suíte é possível desenvolver rapidamente sistemas SCADA para diferentes plantas e processos A suíte a ser utilizada nesse curso é o software RSView32 da Rockwell Software. Esse é um software comercial e não é gratuito. Existem soluções alternativas gratuitas como os softwares OpenSCADA, FreeSCADA, SCADABr que são open source e

Material Didatico - Curso SCADA

Embed Size (px)

Citation preview

Page 1: Material Didatico - Curso SCADA

O que é SCADA

A sigla SCADA é uma sigla do inglês para Supervisory Control And Data Acquisition, o que significa Controle Supervisório e Aquisição de Dados. Sistemas SCADA servem como interface entre o operador e processos dos mais variados tipos, como máquinas industriais, controladores automáticos e sensores dos mais variados tipos. Com sistemas SCADA são construídos desde aplicativos simples de sensoriamento e automação de pequenas plantas, até "Painéis de Controle" para grandes sistemas como sistemas de geração e distribuição de energia, centrais de controle de tráfego e assim por diante. Um SCADA típico deve oferecer drivers de comunicação com equipamentos (CLPs, RTUs, SDCDs, etc), um sistema para registro contínuo de dados ("datalogger") e uma interface gráfica para usuário, conhecida como "IHM" ou Interface Homem-Máquina. Na IHM são disponibilizados elementos gráficos como botões, ícones e displays, representando o processo real que está sendo monitorado ou controlado. Entre algumas das funções mais utilizadas em sistemas SCADA estão:

- Geração de gráficos e relatórios com o histórico do processo; - Detecção de alarmes e registro de eventos em sistemas automatizados; - Controle de processos incluindo envio remoto de parâmetros e set-points, acionamento e comando de equipamentos; - Uso de linguagens de script para desenvolvimento de lógicas de automação

O Sistema SCADA pode ser desenvolvido diretamente em linguagem de programação ou utilizando uma suíte de desenvolvimento. Essa suíte é um programa sobre a qual será desenvolvida a aplicação (projeto), assim com uma mesma suíte é possível desenvolver rapidamente sistemas SCADA para diferentes plantas e processos

A suíte a ser utilizada nesse curso é o software RSView32 da Rockwell Software. Esse é um software comercial e não é gratuito. Existem soluções alternativas gratuitas como os softwares OpenSCADA, FreeSCADA, SCADABr que são open source e versões de teste ou versões gratuitas (porem limitadas) de softwares comerciais como CSWorks e etc.

O curso se baseará no software RSView32 porem os conhecimentos podem ser estendidos a qualquer desses softwares.

Arquitetura e Comunicação

Numa planta existem instrumentos, sensores e atuadores que se comunicam com os CLPs (controlador lógico programável) que possui a lógica de controle da planta. Os CLPs, por sua vez, devem se comunicar com as estações de trabalho (PCs) e IHMs onde as informações e comandos serão visualizados nas telas. A comunicação entre CLPs e PCs deve ser feita por protocolos de comunicação que podem ser privados ou abertos. Quando o protocolo comunicação utilizado é privado (normalmente de propriedade do fabricante do hardware), é necessário que o sistema SCADA possua o driver de comunicação daquele protocolo, gerando

Page 2: Material Didatico - Curso SCADA

uma relação de dependência do software em relação ao hardware. Ou seja, limitando o sistema SCADA a supervisionar apenas aquele tipo de hardware, ou limitando aquele hardware utilizar apenas aquele software disponibilizado pelo fabricante. A tendência então é utilizar protocolos abertos. O padrão OPC (OLE for proccess control) é um conjunto de tecnologias criada pela Microsoft e mantida pela OPC foundation com o objetivo de padronizar a comunicação entre equipamentos industriais. O padrão OPC é aberto e tem grande aceitação no mercado sendo suportado pela maioria dos softwares e hardwares comercializados. A comunicação via padrão OPC é realizada através de um servidor OPC que é um software que faz a interface entre o CLP e o softwares. O servidor OPC utiliza os drivers de comunicação do protocolo proprietário e disponibiliza aquela informação em protocolo OPC assim o sistema SCADA pode utilizar aquela informação. Nesse curso utilizaremos o CLP ControlLogix500 da Rockwell Automation, esse CLP se comunica com o PC pelo software RS Linx que é um servidor de comunicação. O RS Linx utiliza o driver de comunicação proprietário da Rockwell e também serve de servidor OPC. Normalmente o fabricante do hardware (CLP) disponibiliza o servidor OPC, mas caso isso não aconteça também existem no mercado outros servidores OPC que possuem drivers para uma grande variedade de hardwares. Caso o projetista necessitar comunicar vários CLPs de fabricantes diferentes é também aconselhável procurar um desses servidores.

O que é um protocolo de comunicação? Um protocolo é uma convenção ou padrão que controla e possibilita uma conexão, comunicação ou transferência de dados entre dois sistemas computacionais. De maneira simples, um protocolo pode ser definido como "as regras que governam" a sintaxe, semântica e sincronização da comunicação, ou seja, de que forma a informação deve ser “empacotada” e enviada para que o destino consiga identificar qual informação foi transmitida.

O que é um driver de comunicação? Um driver é um micro programa que “conhece” o protocolo e decodifica a informação contida no “pacote”

Configurando a comunicação com o RS Linx

Adicionando e configurando os drivers.

- Abra o linx- Clique na aba Communications- Clique em configure drivers- Escolha no menu suspenso qual o driver será utilizado- Clique em add new- Escolha um nome qualquer para o driver

Repare que existe uma grande quantidade de drivers, pois o CLP pode se comunicar com o PC através de diversas arquiteturas de rede. Nesse curso assumiremos que o CLP está ligado a uma rede ethernet sobre protocolos TCP/IP porem essa rede não é uma rede robusta e está sujeita a interferências. Como o ambiente industrial é um ambiente com fortes ruídos eletromagnéticos esse tipo de rede não é a mais indicada, sendo mais comumente utilizadas as

Page 3: Material Didatico - Curso SCADA

redes devicenet, datahighway, etc. O driver utilizado para esse tipo de rede é o ethernet/IP driver.

- Clique em configure- escolha entre local subnet e remote subnet

- Browse Local Subnet. Escolha essa opção se o CLP e o PC estiverem conectados na mesma subrede (normalmente significa se ambos estiverem conectados no mesmo roteador)

- Escolha qual placa de rede será utilizada nessa conexão (caso o PC possua mais de uma placa de rede) ou a placa padrão utilizada pelo Windows

- Browse Remote Subnet. Escolha essa opção se o CLP e o PC estiverem conectados em diferente subredes (ou seja, se estiverem conectados em roteadores diferentes.

- Digite o endereço de IP e a mascara de subrede para a subrede na qual se encontra o CLP

Configurando o servidor OPC

Será necessária a configuração de um tópico DDE/OPC para comunicação do Linx com os demais softwares que não seja o RSView. Esse tipo de comunicação também serve para comunicar com softwares como Excel, matlab, lótus e qualquer outro que tenha suporte a comunicação OPC ou DDE

- No Linx clique na aba DDE/OPC- Topic Configuration- New- Escolha um nome- Na aba Data Collection escolha o tipo de CLP- escolha o período de transmissão (polled messages) em volta de 20 msec- escolha o tempo de Time-Out em torno de 1 sec- na aba Advanced Comunications escolha o driver que será disponibilizado em OPC- escolha o numero da estação (CLP) conectado por aquele driver que será disponibilizado em OPC (o numero da estação pode ser visualizado na aba Data Source)

- Clique em Apply

O RSView

Possui dois módulos, o RSView Works e o Runtime. O Works serve para desenvolver aplicações e rodá-las, e o Runtime serve apenas para rodar aplicações já prontas. A separação em dois módulos é útil quando apenas o modulo de Runtime é instalado na estação de trabalho, assim o operador não poderá fazer alterações no projeto da aplicação.

Page 4: Material Didatico - Curso SCADA

Criando um novo projeto

-clique em File, New- escolha o nome do projeto, o local aonde será salvo os arquivos de projeto e o nome do subdiretório.-clique em abrir

A primeira coisa a se fazer é configurar o canal de comunicação e os nós. O canal é a rede utilizada na comunicação e o driver a ser utilizado para que haja a comunicação direta por essa rede. O RSView suporta 4 canais diferentes e para cada canal podem ser associados diferentes nós. Nós são os PLCs e PCs que estão em rede ou outras aplicações como MATLAB e EXCELL. Uma pratica muito utilizada na industria é a redundância de rede, onde são utilizadas 2 redes para se conectar com o mesmo CLP, assim se uma das redes falhar a outra estará funcionando, dando mais confiabilidade a comunicação. Para isso utiliza-se 2 placas de rede no PC e configura-se 2 canais. A configuração de um canal só é necessária se a comunicação com o CLP for direta pelo driver proprietário (não utilizando o servidor OPC), essa opção é sempre a melhor, pois a comunicação fica mais eficiente, porem se por qualquer razão houver a necessidade de usar o servidor OPC então não é preciso configurar o canal.

Para configurar um canal:-vá na aba Edit mode, na pasta system-clique em channel-escolha o tipo de conexão, no caso TCP/IP-escolha o driver primário, no caso o AB_ethip-1 ou o nome que você tenha configurado no Linx-se quiser escolha o driver secundário (não necessário para redes TCP/IP)- messages : é o numero de mensagens de requisição enviados ao PLC antes do sistema aguardar o retorno. Alguns PLCs não aceitam que o sistema SCADA solicite outra informação enquanto a anterior não foi retornada, gerando mensagens de erro. Pode-se colocar então o numero de mensagens como 1

Como dito anteriormente um Nó pode representar um CLP, um PC em rede ou uma outra aplicação que esteja rodando na mesma maquina ou em outra maquina na rede. Os nós se comunicam pela rede utilizando drivers diretos (proprietários) ou servidores DDE ou OPC. O padrão DDE (dinamic data Exchange) é um padrão de comunicação entre aplicações criada pela Microsoft. Um nó DDE é utilizado quando deseja-se obter um dado de uma planilha Excel, por exemplo, ou de qualquer software que tenha servidor DDE como o Matlab ou o próprio RSView.

Para configurar um Nó:-Na aba Edit mode, na pasta System- clique em Node- escolha um numero para o novo nó escolhendo uma linha da lista- Escolha o nome para o novo Nó

Page 5: Material Didatico - Curso SCADA

- escolha a forma de conexão (direta, OPC ou DDE)- se for direta escolha o canal, a station (CLP), o tipo do CLP e o tempo de timeout

- se for OPC escolha o servidor OPC que será utilizado, no caso o RSLinx OPC Server in-process-escolha o caminho (Access path), que no caso é o nome do tópico configurado no RSLinx-escolha o período de atualização dos dados, por volta de 0.2 segundos

- se for DDE, escolhe-se o nome da aplicação que serve de servidor DDE e o nome do tópico DDE

Veja que quando foi configurado um nó OPC existia na lista de servidores o servidor do RSView. Assim o RSView funciona tanto como cliente e como servidor DDE e OPC, assim é possível conectar o RSView a diversos tipos de aplicativos rodando na mesma maquina ou em um local remoto, inclusive conectar com outro projeto do RSView em outra maquina, compartilhando dados.

Um servidor OPC pode ser:Local – se for um aplicativo executável (arquivo.exe)In-process – se for uma biblioteca de ligação dinâmica (arquivo.dll) que é executada em processo no RS-ViewRemote – se for um aplicativo executável (arquivo.exe) rodando em outra maquina na rede

Sendo servidor OPC Remote o campo “Server computer name or adress” será habilitado e nele deve-se inserir o endereço IP do computador (ou o nome do computador na rede) onde está sendo rodado a aplicação.

Caso o servidor OPC não apareça na lista a configuração de nome de servidor e Access Path deve ser feita manualmente e essas informações devem ser buscadas junto ao desenvolvedor do servidor OPC.

TAGs e o TAG DATABASE

Tags são variáveis, ou símbolos, que registram a informação de um certo dado. Como por exemplo, pressão, temperatura, válvula aberta, válvula fechada, maquina ligada, maquina desligada, etc... O Tag Database é o banco de dados ou tabela de dados onde são armazenados os valores e configurações de todas as tags.

Para acessar o tag database vá na aba Edit mode – na pasta System – tag database. Para criar uma nova tag clique em new ou clique numa linha em branco e escreva um nome para a tag.

Uma Tag pode ser de 3 tipos (type):

Page 6: Material Didatico - Curso SCADA

Digital – se armazena apenas valores booleanos/digitais (como aberto e fechado, ligado e desligado, falso e verdadeiro...) Analog – se armazena valores analógicos (valores numéricos, como pressão, temperatura, carga, etc)String – se armazena valores alfanuméricos (textos)

Todas as tags possuem um campo de descrição (description) onde se pode escrever uma breve descrição daquela tag.

Caso a tag seja digital deve-se configurar os rótulos (labels) de on e off. Exemplos: ligado/desligado , Verdadeiro/Falso , Funcionando/Parado , OK/Erro , Aberto/Fechado. Esses valores que serão visualizados nas telas do supervisorio.

Caso a tag seja analógica deve-se configurar os valores máximo e mínimo que aquela tag poderá atingir, assim como a scala (scale) e o offset (deslocamento). O scale e o offset serve para adaptar a informação vinda do CLP (codificada em binario) para, por exemplo, mudar a unidade métrica (centímetro para metro ou pé, centigrado para fahrenheit). Deve-se configurar também o tipo de codificação binária que a tag recebe do CLP (se é inteiro, com sinal ou sem sinal, de ponto flutuante, BCD, etc). o campo de unidade é opcional e serve para visualização apenas.

Caso a tag seja string, deve-se configurar o tamanho da string, ou seja, quantos caracteres ela terá.

Uma tag pode ter 2 tipos de fontes de dados (data source). A tag pode ser DEVICE, ou seja, o dado é obtido de um CLP ou outra aplicação externa ao RSView. Ou a tag pode ser MEMORY, onde o valor da tag é local e não é obtido de nenhum outro dispositivo. Tags memory servem para certos tipos de controle, como animações de telas e armazenamento de dados gerenciais.

Se a tag for DEVICE deve-se especificar o nome do Nó ao qual aquela informação será extraída e o endereço de memória que se refere ao dado em especifico. Se o nó for direct driver ainda deve-se especificar qual a SCAN CLASS utilizada (explicada mais adiante). Se o nó for OPC Server ou DDE Server essa opção não é habilitada pois foi configurado o update rate na configuração do nó. Se o dispositivo ao qual se extrairá a informação for um CLP de lógica Alen-Bradley (do tipo fabricado pela Rockwel Automation) o RSView disponibiliza uma ferramenta para navegar no banco de dados do dispositivo e escolher o endereço de memória para a tag de forma mais rápida. Caso o dispositivo não seja Alen-Bradley deve-se escolher o endereço de memória de forma manual e deve-se consultar a documentação do fabricante do dispositivo ou servidor OPC/DDE.

Se a tag for MEMORY deve-se apenas especificar o valor inicial que a tag vai receber ao iniciar a aplicação RSView.

A tag ainda pode ser System, que são as tags de sistema como data e hora atual, tags de referencia de alarme e erros de comunicação, entre outras...

Page 7: Material Didatico - Curso SCADA

Tags podem ser organizadas em pastas. Para criar uma nova pasta va no menu Edit – new folder, ou no atalho da toolbox, e escreva o caminho e o nome da nova pasta, separando as sub pastas por uma barra ( / ). Quando quiser criar Tags dentro dessas pastas o nome da tag deve conter também o caminho. A utilidade disso alem de organizar é de poder copiar varias tags utilizando o Duplicate Folder. Assim caso se tenha vários equipamentos com tags iguais, pode-se criar as tags para um em uma pasta e duplicar a pasta. Para duplicar uma pasta, selecione a pasta desejada e clique em Duplicate Tag Folder no Toolbar ou no menu Edit – Duplicate folder... (observe que duplicate folder é diferente de duplicate, que duplica uma tag)

Obs.: os campos de ALARM e SECURITY serão abordados mais a frente.

O SCAN CLASS (classe de varredura) é semelhante ao update rate e é uma opção disponibilizada pelo RS-view quando forem utilizados CLPs com lógica AB. Com o SCAN CLASS pode-se definir diferentes update rate para diferentes tags. O que otimiza a comunicação, pois tags criticas podem ser atualizadas mais rapidamente e tags não criticas podem ser atualizadas mais lentamente, assim não se sobrecarrega a rede industrial caso essa seja limitada ou tenha muito trafego de informações. Em contraste com o update rate dos servidores DDE/OPC que atualiza todas as tags em uma taxa única. Veja que se a rede for de alta velocidade ou se esta não tiver muito trafego, não é critico a configuração dos níveis de varredura.

Os vários níveis de SCAN CLASS podem ser configurados na aba Edit mode – pasta system – scan class.

É possível configurar 11 classes de varredura ( de A a K) cada uma com 2 períodos. O período de foreground é o período de atualização da tag quando esta está sendo visualizada na tela do supervisório e o de background é o período de atualização da tag quando esta não está sendo visualizada na tela do supervisório.

GRAFICOS E TELAS

O foco principal de um sistema supervisório são as telas. Para criar uma nova tela (também chamada de Display) vá na aba Edit mode, na pasta graphics, duplo clique em Display e será aberta um novo display

Perceba que quando a janela do display está selecionada toda a janela do RSView muda, e são disposponibilizadas opções especificas do display

Salvando telas: para salvar a tela, vá em File – Save as, ou pelo atalho ctrl + S. telas são salvas em formato .gfx e ficam armazenadas na pasta gfx dentro do diretório raiz do seu projeto.

Page 8: Material Didatico - Curso SCADA

Após salvar algumas telas a lista de todas as telas salvas no seu projeto pode ser visualizada ao selecionar a opção “Display” dentro da pasta graphics. Para editar uma tela salva dê dois cliques no nome da tela que deseja editar

Objetos: Objetos gráficos podem ser adicionados às telas. Todos os objetos podem ser acessados pelo menu “Objects” ou pelos botões da “drawing toolbox”. Dentre os objetos simples existem: Retangulo, retângulo com borda arredondada, linha reta, polilinha, polígono, linha livre, elipse, arco, fatia e texto. Não explicitarei o funcionamento destas ferramentas por ser intuitivo. Após criado o objeto ele pode ser reeditado dando um duplo clique no mesmo.

Objetos gráficos simples possuem atributos (cor da linha, cor do preenchimento, grossura da linha, estilo da linha... etc). estes podem ser editados clicando com o botão direito no objeto em questão, selecionando attributes e selecionando o atributo que deseja editar ou pelo menu attributes com o objeto selecionado.

Line color: cor da linhaFill color: cor do preenchimentoLine properties: espessura da linha e estilo da linha (continua, pontilhado, tracejado etc)Font e Font Size (para texto): tamanho e estilo de fontePadrões de preenchimento: no menu de atributos existe uma lista com padrões de preenchimento:

Hollow – vazio, sem preenchimentoSolid – preenchimento comum, solidoVertical lines – linhas verticaisEntre outros...

Objetos podem ser rotacionados com a ferramenta ROTATE: pode-se selecionar o centro de rotação simplesmente arrastando o símbolo de centro

Organização de objetos (arrange) :Pode-se organizar os objetos para quando estes se sobreporem, selecionando o objeto e utilizando o “send to back” e o “bring to front”. Estas opções podem ser acessadas no menu arrange, ou clicando com botão direito no objeto, ou nos atalhos na toolbar.

Pode-se agrupar objetos utilizando o group. Basta selecionar os objetos que deseja-se agrupar (pode-se segurar o ctrl para fazer a seleção). A ferramenta group encontra-se no menu Arrange, e na toolbar, ou pode-se utilizar o atalho ctrl+G. para editar um grupo basta clicar duas vezes no mesmo. Pode-se criar um grupo de grupos, ou um grupo dentro de um grupo. Pode-se desagrupar com a opção ungroup.

Pode-se inverter (espelhar) os objetos e grupos com as opções flip vertical e flip horizontal

Pode-se fazer o arranjo espacial (distribuição espacial) e o alinhamento de uma seleção de objetos com as opções align e space

Page 9: Material Didatico - Curso SCADA

Ao selecionar um ou mais objetos pode-se alinhá-los às linhas de grade com a opção align to grid

Ao selecionar 2 ou mais objetos pode-se alinhá-los com as opções:Align left – para alinhar os extremos à esquerda dos objetos a uma linha horizontal à esquerdaAlign right – para alinhar os extremos à direita dos objetos a uma linha horizontal à direitaAlign Center – para alinhar os centros dos objetos à uma linha horizontal ao centro

Align top Align bottonAlign middle

Align center points – para alinhar os centros dos objetos a um ponto no centro

Ao selecionar 3 ou mais objetos pode-se espaça-los igualmente (distribuir no espaço) com as opções:Space Vertical – distribui os objetos no sentido verticalSpace Horizontal – distribui os objetos no sentido horizontal

Opções de GRADE: pode-se visualizar linhas de grade e ativar o SNAP TO GRID no menu View, ativando as opções Show Grid e Snap On. Pode-se mudar as configurações da grade em Grid Settings... pode-se alterar a cor da grade e o espaçamento vertical e horizontal

Converter em Wallpaper: qualquer objeto gráfico pode ser convertido em plano de fundo. Quando um objeto está convertido em plano de fundo este não será selecionado quando for clicado. Essa ferramenta é útil no estagio de edição do projeto, numa tela com vários objetos gráficos e quando estes formam um plano de fundo. Para converter um objeto, grupo ou seleção vá no menu Edit – wallpaper – convert to wallpaper, ou clique com o botão direito – convert to wallpaper. Quando precisar editar algum objeto convertido para wallpaper va no menu Edit – wallpaper – unlock all wallpaper, e todos os objetos convertidos poderão ser editados novamente.

BIBLIOTECA DE OBJETOS GRAFICOSPode-se utilizar bibliotecas de obejetos gráficos para projetar mais rapidamente o supervisório ou para compartilhar objetos gráficos entre projetos. Vá na aba Edit Mode – Graphics – Library para acessar uma lista das bibliotecas de gráficos. Para visualizar o conteúdo de uma biblioteca basta dar duplo clique no nome desta, assim abrirá aquela biblioteca em modo de edição. Para utilizar os objetos contidos na biblioteca simplesmente o selecione, copie e cole no display do seu projeto. Pode-se criar novas librarys dando duplo clique em library. Os arquivos de library são idênticos aos de displays (.gfx) e tudo que é valido para edição de display também é valido

Page 10: Material Didatico - Curso SCADA

para edição de librarys. porem librarys estão armazenados no diretório raiz do RSView e podem ser acessados em qualquer projeto. Também pode-se achar librarys adicionais para download na internet.

ANIMAÇÕES: em uma tela de supervisório é muito mais eficiente informar sobre o estado de uma variável graficamente ao invés de simplesmente um mostrador numérico. Também é necessário variar dados de entrada qualitativamente, ao invés de quantitativamente. Para isso utilizamos animações, assim podemos animar ponteiros, VU’s, indicadores, etc

Animações são associadas a um objeto ou a um grupo. Para adicionar uma animação clique com o botão direito no objeto – animation e escolha a animação que deseja adicionar, ou selecione o objeto e no menu animation escolha a animação. Será aberta uma janela contendo abas. Cada aba refere-se a uma animação. Quando a animação for adicionada será posto uma seta ao lado do nome da animação. Pode-se adicionar varias animações diferentes para cada objeto. Pode-se visualizar as animações de outros objetos, mantendo a janela de animações aberta e selecionando um outro objeto (isto muitas vezes confunde o projetista quando seleciona um objeto errado). Para testar a animação utilize o TEST RUN no menu View, ou o atalho na toolbox.

Dentre as animações temos animações apenas para mostrar algo, ou para realizar uma operação de entrada de dados:

Vertical e horizontal Slider: são animações de entrada de dados. Com esta animação podemos variar uma tag em uma barra de rolagem. Pode-se utilizar os objetos da biblioteca Sliders e associar a tag à animação preconfigurada (já adicionada ao botão dentro do grupo).Configurações da animação:

Associe uma tag analógica ou digital, escrevendo seu nome ou clicando em Tags... (também pode-se criar e editar tags e pastas enquanto se associa uma tag a uma animação)

Vertical Offset (pixels): é o deslocamento (em pixels) da animação em relação à posição atual do objeto. At minimun (normalmente é 0) é a posição quando a tag se encontra com o valor mínimo. At maximun é a posição quando a tag está com valor Maximo. Pode-se editar esses valores do seguinte modo:

desabilite as check boxesmova o objeto para a posição de valor mínimoabilite a check Box de at minimunmova o objeto para a posição de valor Maximoabilite a check Box de at maximumclique em aply

Specify min e max: pode-se especificar o min e máximo da tag, ou utilizar o máximo e mínimo especificado na configuração da tag (quando foi criada a tag especificou-se o máximo e mínimo alcançado pela tag). Para especificar um máximo e mínimo diferente

Page 11: Material Didatico - Curso SCADA

dos valores da tag abilite a check Box Specify, e escreva os valores desejados (estes devem estar no range da tag, ou seja o máximo deve ser menor ou igual ao maximo da tag e o minimo deve ser maior ou igual ao minimo da tag)

Não deve-se associar tags que não sejam manipulaveis à animação de Slider (apesar de ser possível). Tais tags (como aquelas relacionadas com Inputs no CLP) tem proteção de escrita e não serão alteradas, gerando erro caso tente-se...

Vertical e Horizontal position: parecida com a animação Vertical e horizontal Slider, porem o operador não pode manipular a tag. A animação é apenas para visualização do estado da tag associada. Também pode-se associar uma expressão, ao invés de apenas uma tag.

Uma expressão contem Tags, operadores (aritméticos, booleanos, relacionais, condicionais, etc) e funções. Assim podemos associar, à animação, valores que dependem de condições. Por exemplo:

IF bit1 == 1 AND bit2 == 0 then analog1 + 10Else if analog1 >= 50 OR analog2 <= 70 then analog1 - 50 Else then Sin(analog2 / 5)

Onde analog1, analog2, bit1 e bit2 são tags. IF ELSE THEN são condicionais. == >= são relacionais, - + / são aritméticos, AND e OR são Logicos (booleanos) e Sin é uma função (seno).

Assim associam-se os valores (analog1 + 10) (analog1 – 50) e ( sin(analog2 / 5) ) dependendo das condições (bit1 == 1 AND bit2 == 0) (analog1 >= 50 OR analog2 <= 70) (nenhuma das anteriores)

Repare que o operador lógico AND é diferente do operador bitwise and (&), e assim também para o OR (|) . Os operadores bitwise OR e AND são aplicados em tags analogicas do tipo inteiro e fazem a operação booleana bit a bit, retornando um valor inteiro que é o resultado dessas operações. Os outros operadores bitwise também fazem operações bit a bit em tags do tipo inteiro e não são de grande relevância nesse curso. Caso deseje mais informações, deve-se consultar a documentação.

Funções retornam um valor que depende do argumento. Existem funções trigonométricas (seno cosseno tangente etc...) e funções que retornam valores booleanos, ou seja funções que avaliam uma situação e retornam uma confirmação ou negação. Exemplos:

COMM_ERR(tag) retorna 1 se houve um erro na comunicação do valor da tagALM_IN_ALARM(tag*) retorna 1 se a tag está em alarmeAFTER_TIME("time") retorna 1 se o horário atual for superior ao horario especificado )

As funções não serão mais abordadas neste curso e deve-se consultar a documentação para maiores informações. Consulte o help do RSView no caminho:

Page 12: Material Didatico - Curso SCADA

Expressions / math and other functions in expressions / Quick Reference to Math and Other Functions

Touch: animação de entrada de dados, com esta animação pode-se criar botões, ou objetos nos quais ao serem clicados realizam-se ações. Configuração da animação:

Temos 3 ações a serem realizadas: uma quando o objeto for clicado (press action), outra se o objeto continuar clicado (repeat action), e outra ao soltar o clique (release action). O Repeat Rate é o intervalo entre o clicar (press) e o continuar clicado (repeat). O padrão 0,25 segundos é um bom intervalo, mas caso deseje pode-se alterar esse intervalo.

Para adicionar uma ação ou comando clique no botão (...) ao lado da caixa, navegue entre as opções de comandos (comand wizard) e escolha uma opção.

Comandos são nativos do RSView e diferem das Funções (functions) e Operadores que vimos anteriormente, e das subrotinas que também veremos mais adiante. Existem comandos para manipular tags, configurar comunicação, iniciar registro, navegar entre telas, entre outros. Abordaremos com profundidade os comandos mais adiante. Alguns comandos simples são: toggle, ramp e set

O toggle alterna o valor de uma tag digital de 0 para 1 ou vice e versa

O ramp incrementa (ou decrementa) o valor de uma tag analógica de um valor definido, do valor atual de uma tag, ou de uma porcentagem do valor da própria tag.

O set ajusta o valor de uma tag qualquer a um valor qualquer (desde que esteja dentro do range) que pode ser um valor fixo definido, o valor de uma tag, ou uma porcentagem do valor maximo,

O comand wizard te guiará por dentre as opções para formular a sintaxe do comando (repare no canto inferior do comand wizard a Comand String). Caso o projetista conheça a sintaxe pode-se escrever diretamente na caixa. Pode-se adicionar mais de um comando para uma determinada ação, basta separa-los por linha ou por ponto-e-virgula.

Fill: o fill faz o preenchimento do objeto dependendo do valor da tag ou expressão associada Configuração da animação:

Fill (percent): percentual de preenchimento em valor maximo e minimo da tag ou expressão. Normalente 0 para minimum e 100 para maximum. Semelhante ao offset do Slider e Position.

Fill direction: é a direção de preenchimento do objeto

Page 13: Material Didatico - Curso SCADA

Inside only: marque a checkbox caso deseje manter a linha de borda e adicionar animação apenas ao preenchimento do objeto

Width e height: faz uma escala da largura (width) e da altura (height) dependendo do valor da tag ou expressão associada. Efeito semelhante ao fill.Configuração da animação:

Horizontal e vertical change (percent): percentual da escala (modificação).

Anchor: posição de ancoramento (left, right, top, botton e middle) de que ponto o objeto irá “crescer”

Rotation: rotacionar o objeto dependendo do valor da tag ou expressão associadoConfiguração da animação:

Rotation (degrees): grau de rotação para os valores maximo e minimo da tag

Center of rotation: centro da rotação. Pode-se escolher um ponto extremo do objeto (cantos, centros das arestas laterais e centro) ou escolher um ponto qualquer. Para escolher um ponto qualquer marque a check Box ao lado de (0,0) e arraste o simbolo de centro pelo objeto até o local desejado.

Visibility: mostrar ou esconder o objeto a depender do valor da tag ou expressão. Configuração da animação:

Expression True State invisible, visible: estado do objeto para caso a expressão seja verdadeira, visível ou invisível.

Pode-se utilizar apenas uma tag binária para a expressão, quando tiver valor 1 a expressão será verdadeira

Pode-se utilizar uma tag analógica para a expressão, quanto esta tiver valor maior que zero a expressão será verdadeira.

Pode-se usar operaradores condicionais. Esses associam uma tag ou expressão diferente de acordo com as condições. exemplo:

IF analog > 50 then 1Else IF analog < 20 then 0Else then bit

Assim se analog > 50 a expressão é verdadeiraSe analo <20 a expressão é falsaSe 20 < analog < 50 então a expressão depende da tag “Bit”

Color: altera a cor do preenchimento do objeto. Depende do valor da expressão ou tag.Pode-se usar apenas uma tag binária (valores 0 e 1) ou uma tag analógica com mais valores, ou uma expressão condicional que associe diferentes valores a expressão.Configuração da animação:

Page 14: Material Didatico - Curso SCADA

Pode-se escolher 16 valores (ou cores) diferentes para a animação. Os valores são associados as letras de A-P, selecionando a letra e escrevendo o valor no campo Value. normalmente escolhe-se valores de 0 a 15, somente para referencia. Utiliza-se o condicional caso queira associar cores a intervalos de valores de tag. Exemplo:

IF analog <15 then 0Else IF analog >= 15 and analog < 30 then 1Else if analog >= 30 and analog < 45 then 2Else if analog >= 45 and analog < 60 then 3Else if analog >= 60 and analog < 75 then 4Else if analog >= 75 and analog < 90 then 5Else then 6

É comum associar cores quentes a valores que estejam alertando algum perigo ou desconformidade.

Para cada letra (valor) pode-se escolher cores diferentes para a linha e para o preenchimento do objeto. Alem disso pode-se escolher que a linha e/ou o preenchimento fiquem piscando. Para que pisquem deve-se marcar a opção Blink. Com esta opção marcada um novo quadro é disponibilizado e esta é a cor que alternará (piscará). Para escolher as cores basta clicar nos quadros.

Blink rate (seconds): é o período para piscar (alternar a cor). Pode-se usar frações de segundo, exemplo: (0.5) . Essa taxa é a mesma para todas as opções de pisca.

OLE VERB: essa animação só deve ser adicionada a objetos OLE (object linked and embeded), falaremos sobre eles mais tarde.

ADVANCED OBJECTS: alem dos objetos simples (circulo, retângulo, reta etc...) existem os objetos avançados. Alguns objetos avançados não aceitam algumas animações.

Numeric imputs e numeric displays: os numeric displays mostram valores numéricos de tags ou expressões e os numeric imputs podem modificar o valor de tags numéricas (tags apenas). Os dois objetos são muito semelhantes apenas com algumas diferenças.Semelhanças:

Field Length: tamanho do campo (quantos dígitos serão visualizados no campo). Depois de criado o campo se desejar aumentar o tamanho da fonte ou o tamanho da campo não deve-se utilizar o Scale no objeto e sim alterar essa configuração ou alterar o atributo Font Size.

Format: o formato da informação (hexadecimal, inteiro/decimal, ponto flutuante, etc)

Page 15: Material Didatico - Curso SCADA

Leading character blanks/zeroes: se haverá zeros a esquerda ou apenas espaços vazios

Justification: justificação de texto, a esquerda a direita e ao centro. Apenas útil se o leading character estiver configurado em blanks.

Caso o formato seja de ponto flutuante (floating point) deve-se configurar o numero de casas decimais (decimal places), e configurar a maneira de lidar com o overflow (estouro de valor). O overflow ocorre quando o valor a ser exibido não cabe no tamanho de campo. Caso escolha show exponent o valor será exibido em notação exponencial, caso esolha rounded value o valor será arredondado perdendo casas decimais, caso escolha fill with asterisks o campo será preenchido com asteriscos e nenhum valor será visualizado.

No numeric imput temos as opções índex, default data, continuously update que não têm no numeric display. O índex é o índice de imput (utilizado em receitas, veremos mais a frente) todo objeto de imput (numeric, string e botões) tem um índice diferente que o identifica. O índice é útil para identificar o campo de input assim e possivel realizar comandos automáticos de input de dados, como receitas e outros... Default data é o valor padrão que será exibido assim que o input for exibido (enquanto o valor da tag não for atualizado). Marque continuously update para que o valor do campo seja atualizado continuamente para o valor atual da tag, funcionando também como um numeric display. Caso seja desmarcado o valor do campo nunca será atualizado, e só será mudado caso o operador o ajuste.

Obs.: o valor da tag associada ao numeric imput só será atualizado ao pressionar a tecla enter ou utilizar os comandos Download e Download All

String input e display: semelhante ao numeric input e display, porem com texto ao invés de valores numéricos.Semelhanças entre input e display: Dimension – dimensão em numero de caracteres: width (largura) e height (altura)Justification – justifição de texto

Somente no string DISPLAY: character offset – digite no campo o numero do primeiro caractere da string a ser exibido, assim pode-se exibir toda a string ou apenas parte dela. Por exemplo, digamos que uma tag string contenha 20 caracteres, deseja-se exibi-la em dois string displays diferentes, cada um com apenas 10 caracteres de comprimento. Assim coloca-se no primeiro lenght 10 e offset 0 e no segundo lenght 10 e offset 9. Assim os 10 primeiros caracteres serão exibidos no primeiro campo e os 10 ultimos serão exibidos no segundo campo

somente no sintring input:índex, default data e continuously update: igual como no numeric input.

Page 16: Material Didatico - Curso SCADA

Arrow: é um mostrador do valor da tag utilizando uma seta que se desloca. Pode ser usada ao invez de objetos com animação para poupar tempo de projeto. Range Specify min e max: semelhante a todas as animações, se deve-se utilizar o min e max da tag ou um range especifico.Direction: direção do deslocamento da seta

Label: rotulo, exibe uma informação sobre uma tag. Associa-se uma tag ao rotulo e especifica-se o tipo do rotulo. Alguns tipos utéis são: descrição, unidade de medida, nome da tag, status... essas informações são configuradas no tag database. Utilizar rótulos é útil quando se deseja exibir uma informação varias vezes ou em varias telas diferentes, sem a necessidade de escreve-la varias vezes. Alem disso quando se alterar uma dessas informações num supervisório já pronto (por exemplo, mudar a unidade de medida de uma variável, ou traduzir para uma outra língua a descrição da tag) não há a necessidade de altera-lo varias vezes. Também o rotulo de Status (apenas para tags digitais) é útil para exibir valores lógicos ao invés de exibir zeros e uns (0, 1), assim exibe-se a informação qualitativamente (ligado/desligado, aberto/fechado, etc...)

Buttons: botões que ao serem pressionados realizam ações igual à animação Touch. Ao criar um botão, abre-se a janela de configuração de botões com 4 abas. A primeira (general) contem informações de estilo e formato do botão (pode-se testar as animações do botão clicando nos exemplos). O estilo beveled tem a configuração width que é a espessura da borda.

High light cursor: marque esta opção caso deseje que o botão seja destacado (circulado por um retângulo colorido) quando este for clicado.

Capture cursor: marque essa opção caso deseje que o cursor fique retido no campo do botão até que este seja liberado. Útil quando se tem botões pequenos e telas touchscreen.

Na aba actions temos as opções de ação para quando o botão for pressionado.Set to 1 e Reset to 0: ao clicar no botão a tag associada muda para 1 (ou continua em 1) caso seja set ou para 0 caso seja reset. (pode-se usar tags analógicas ou digitais)

Toogle bit: muda o estado do bit de 0 para 1 ou vice e versa. O botão também mantem-se pressionado quando a tag está em 1.

Momentary on: momentariamente ajusta o valor da tag para 1 e ao ser liberado o botão ajusta o valor da tag para 0Idem para momentary off

Command: realiza comandos ao ser pressionado (press), ao continuar pressionado (continue) e ao ser liberado (release), assim como na animação

Page 17: Material Didatico - Curso SCADA

touch. Pode-se fazer botões toggle, set/reset e momentary on/off também com comandos

Na aba Up Apearence temos opções da aparência do botão quando este não estiver acionado: Button label é o rotulo ou texto que fica exibido no botão, pode-se escolher a cor e a fonte do texto

Fill: opções de preenchimento do botão. Pode-se escolher um padrão de preenchimento (solido, vazio, hachurado, etc...), a cor de preenchimento, ou que este seja preechido por uma figura .bmp ou .ico em Import. Caso deseje retirar a figura do preenchimento, clique em clear import.

Na aba down apearence podemos escolher se queremos que o botão tenha a mesma aparência acionado e não acionado ou que tenha aparências diferentes (útil quando o botão é toogle. exemplo, botão com duas cores, ou com dois rótulos ligado e desligado, etc). marcando Same as Up Apearence o botão terá a mesma aparência acionado e não acionado. Desmarcando Same as Up Apearence podemos configurar a aparência para o botão quando este tiver acionado

Falaremos sobre outros advanced objects mais tarde para agora falar sobre comandos e macros e configuração de telas. Como já foi visto comandos são nativos do RSView e realizam funções do programa. Já foram vistos o ramp o set e o toogle. Os comandos devem ser abordados durante todo o curso pois certos comandos se referem a certas ferramentas ainda não abordadas. Iremos agora abordar alguns outros comandos de navegação de telas, estes podem ser encontrados no command wizard, no quadro command categories, no caminho Graphics / Graphics display / Navigation:

Display: comando que chama uma nova tela. Escolhe-se a tela a ser chamada em file, que exibirá uma lista de todas as telas já salvas em Graphics. Esse comando possui uma serie de modificadores que podem ser utilizados. Os mais importantes são:

Windows position: especificar a posição que a tela será aberta (canto superior/inferior, centro a esquerda, centro acima etc...)

X/Y Left/Top: também especifica a posição que a tela será aberta. Especifica a linha e a coluna das laterais superior e esquerda (em pixels)

Height e Width: especifica o tamanho da tela (altura e espessura). caso a tela tenha valores diferentes de altura e espessura esta pode ser modificada em escala (scale) ou então será adicionada uma barra de rolagem (pan), dependendo da configuração do display exibido. Falaremos sobre configuração de display a seguir.

Cache display e Cache allways updating: opções para que a tela seja carregada na memoria cache do computador, assim quando a tela for chamada novamente está será carregada mais rapidamente. Porem essa opção consome recursos do computador. Bom somente para telas que são constantemente acessadas ou telas criticas, como tela de gerenciamento de falhas.

Page 18: Material Didatico - Curso SCADA

Veja que os modificadores configuram a posição e tamanho da tela, caso não haja modificadores no comando display a tela será exibida de acordo com as configurações do display.

Abort: comando utilizado para fechar telas abertas.Pode-se fechar a janela ativa (mais a frente) – abortPode-se fechar a janela de onde saiu o comando abort – abort mePode-se fechar uma janela especifica – abort <nome>Pode-se fechar todas as janelas – abort *

OBS.: Diferenças entre test Run, Run mode e Run Project.O test run (botão de play quando editando graficos) é diferente do Run mode e do Run Project.

O test run roda a tela em modo teste, mantendo as dimensões e posição da tela como está no modo de edição. Também não executa o comportamento configurado na configuração da tela.

Já o Run Mode a tela roda com as dimensões e posição configuradas e executa o comportamento configurado na configuração da tela. para rodar uma tela em run mode vá na aba run mode na pasta graphics – display e escolha a tela que deseja rodar.

O Run Project Roda o Projeto (ao invez de uma tela), ajustando a janela de projeto às configurações de projeto e rodando as rotinas de inicialização de projeto (Startup)

Para alterar as configurações da tela, abra em Edit mode a tela que deseja configurar e vá no menu Edit – display settings... aqui podemos configurar as propriedades (properties) e o comportamento (behavior) da tela. na aba properties temos:

Display type: tipo de display

Replace: fecha todas as telas já abertas e abre esta

Overlay e On Top: não fecham as telas já abertas e se posicionam na frente delas. Displays On Top tem prioridade, assim se estiver um display On Top já aberto e abrir-se um Overlay, o On Top continuará a frente.

Allow multiple running copies: se desejar que seja possível abrir varias copias da mesma janela quando for solicitado

Cache after displayins: carregar o display na cache como visto no modificador

Page 19: Material Didatico - Curso SCADA

Size: tamanho em pixelsUse current Size: usar o tamanho que a tela esta em modo de edição

Specify Size in Pixels: especificar o tamanho em pixels da altura e largura da tela. caso a tela seja carregada por um comando display com modificador de tamanho este tamanho não será mais usado.

Resize:Allow display to be resized: marque se desejar que seja possível alterar o tamanho da tela durante a execução em modo run. Assim o usuário poderá fazer o Scale livre arrastando as arestas da tela. desmarque se desejar que isso não seja possível. Desmarcando essa opção não impede de usar o comando display com o modificador de tamanho.

When Resized: escolha oque deve acontecer quando a tela mudar de tamanho (seja pelo usuário, seja pelo modificador do comando display)

Pan: a escala dos gráficos não é alterada e adiciona-se barras de rolagem para visualizar o conteúdo da tela

Scale: altera-se a escala dos gráficos para que a tela caiba na nova dimensão

Position: igual ao Size, porem configura a posição.

Title Bar: marque se deseja exibir uma barra de titulo (aquela barra azul em cima de qualquer janela do Windows)

System Menu : Se deseja exibir os botões de maximizar, minimizar e fechar a tela no canto direito da barra de titulo. Essa opção é desselecionada se a tela não tiver barra de titulo.

Maximize e minimize Button: se deseja HABILITAR os botões de maximize e minimize do system Menu. Normalmente a opção de habilitar o botão de maximizar não esta acessível pois maximizando a janela de gráfico pode-se confundir o system menu da tela com o system menu do projeto e o operador pode fechar o RSView por engano.

Size to main Window at Runtime – ajustar á janela principal em modo Runtime, ajusta a tela no tamanho da tela do projeto.

Show last acquired value – mostrar ultimo valor adiquirido. Quando uma tela é chamada, inicia a comunicação de dados para a aquisição dos valores das tags que estão envolvidas na tela. é possível que a tela carregue mais rápido do que a aquisição dos valores. Marcando essa opção quando isso acontecer, será assumido o ultimo valor adquirido da tag. Caso a opção seja desmarcada, as tags serão exibidas como fora do ar.

Page 20: Material Didatico - Curso SCADA

Background color: cor de fundo

Security code: código de segurança (será abordado mais adiante)

Na aba behavior configuramos o comportamento da tela:Commands Startup/shutdown: pode-se configurar um comando ou uma macro a ser executada quando a tela for carregada (startup) e quando for fechada (shutdown)

Obs.: macros são listas de comandos que podem ser editadas e salvas. Macros se comportam como se fossem comandos e aparecem no command wizard. Mais a frente abordaremos macros.

Input Field Colors: as cores dos campos de entrada de dados (cor do texto e do preenchiemento) quando estes estão selecionados e quando estes não estão selecionados.

Behavior of interactive objects: comportamento de objetos interativos (botões, com animação touch ou Slide, etc...)

Beep on press: bipar ao clicarHighlight when cursor passes over it: destacar quando o cursor passar por cima do objeto. Caso marcado selecione a cor do destaque.

Behavior of object with input focus: comportamento de objetos de inputDisable highlight whn object has focus: quando um objeto de input realiza a transmissão de dados (quando o operador digita um valor e aperta enter, ou quando é utilizado o comando download) o objeto recebe um destaque diferenciado. Desabilite essa opção caso não deseje que o objeto fique destacado ou configure a cor do destaque.

Display On-Screen Keyboard: mostrar um teclado na tela. essa opção é útil em telas touchscreen sem teclado externo. Marcando essa opção, sempre que um input Field (numeric ou string) for clicado em modo run time, exibirá um teclado na tela onde o operador poderá entrar com dados.

A opção set as Default: caso o projetista deseje criar varias telas com essas mesmas configurações, é possível manter essa configuração como padrão (default). Assim toda tela nova criada terá essa configuração predefinida a não ser que o projetista a mude.

Para configurar as opções de projeto (para o Project Run), vá na aba Edit mode, na pasta system, sturtup

Na primeira aba (preferences):

Page 21: Material Didatico - Curso SCADA

Title bar, maximize e minimize: igual ao de configuração de telaControl Box: é o system menu, os botões de fechar maximizar e minimizar.Menu: é o menu superior (File, view, Windows, help...) com algumas opções para o Run TimeActivity bar: visualizar a barra de atividades (mensagens) que fica no canto inferior da telaProject manager: visualizar o administrador de projeto (janela com todos os caminhos do projeto)

Disable:Ctrl alt P – desabilita o atalho que exibe o Project manager a qualquer momentoSwitch to other apps – desabilita trocar o projeto em run time para outra aplicação Windows corrente. Assim o projeto nunca é minimizado. Essa opção também desabiliza os botões de maximizar minimizar e fechar .

As configurações de Startup abordaremos mais adiante.

Macros: Como já visto Macros são sequencias de comandos e servem para automatizar configurações e outras ações. Para criar uma macro vá na aba Edit mode, na pasta logic and control, macro. Clicando uma vez exibirá a lista das macros já salvas. Clicando 2 vezes abrirá uma nova macro em modo de edição. Os comandos podem ser adicionados manualmente, um por linha, ou pelo command wizard (Ctrl + M ou menu Edit – Command Wizard). Para salvar a macro vá no menu file – Save. Para editar uma macro já salva duplo clique no nome da macro (pelo Edit mode). Para executar a macro digite o nome da macro no command line ou nas ações de botão , ou de um duplo clique no nome da macro (pelo run mode). Note que macros não podem ter o nome igual a nenhum comando. Macros não executam nenhum operando condicional, caso o projetista deseje executar uma rotina com condições deverá programar em linguagem de script. O RSView disponibiliza a ferramenta para executar linhas de comando escritas em VBA (visual basic for aplications). O conteudo de programação em VBA não será abordado nesse curso.

O Objeto Command Line e outros Objetos Avançados. Ao criar um objeto comand line ele irá aparecer em test run, clique fora dele para sair do test run. Em run mode (ou test run) o comand line terá um botão para abrir o command wizard (...). o comand line é útil para operadores treinados realizarem ações rápidas por entrada de texto ao invez de clicando em botões. Há também um comand line na pasta system (tanto na aba Edit mode qunato na run mode).

Receitas e o objeto recipe: receitas são utilizadas para ajustar vários valores rapidamente. Útil para se utilizar quando os valores de certas variáveis variam em diferentes processos ou na

Page 22: Material Didatico - Curso SCADA

produção de diferentes produtos (automação flexível). O objeto recipe atua em numeric imputs, utilizando o indice (índex) dos mesmos. Para criar uma receita, crie uma nova tela para receitas, coloque nela numeric inputs associados as tags desejadas para a receita e coloque um objeto recipe. Em run mode ou test run, coloque o valor das variáveis nos numeric inputs (lembre de dar enter para a tag ser atualizada), para serem salvas na receita. De duplo clique no objeto recipe e abrirá uma janela de receita. No campo recipe file coloque o nome da receita que deseja salvar e clique em save.

Para restaurar uma receita. Na tela já criada, em run mode duplo clique objeto recipe, escolha na lista suspensa o nome da receita que deseja restaurar e clique em restore. Note que os valores apenas são transferidas para os numeric inputs, porem as tags não são atualizadas. Deve-se usar o comando DownloadAll para atualizar todas as tags. O comando downloadall atualiza todas as tags que estão associadas com os input Fields com o valor escrito neles, é como se fosse dado enter em todos os input Fields. Já o comando Download faz a atualização daquele imput Field que estiver selecionado .Receitas são salvas, e podem ser editadas em forma de texto. Para isso vá na aba Edit mode, na pasta graphics – recipes. Clique duas vezes no nome da receita que deseja editar. Perceba que cada linha começa com um numero seguido de uma virgula, um valor uma exclamação e o nome da tag. O primeiro numero é o índice do input Field, a virgula é o separador e o segundo numero é o valor da tag na receita. Essa é a sintaxe dos arquivos de receita, a exclamação serve para adição de comentários. Tudo que está a direita da exclamação é apenas comentário e não será lido pela receita. Assim o nome da tag não importa, apenas o índice do imput Field. Sendo assim deve-se tomar cuidado ao editar os input Fields de telas de receita pois alterando-se os índices , a receita não será restaurada da maneira correta. Também é possível criar receitas por texto, para isso duplo clique em recipes na pasta graphics, edite a receita e salve. Pode-se usar também os comandos recipe restore <nome> e recipe save <nome> para restaurar e editar receitas, ou usar o comando recipe Edit <nome> para abrir o arquivo de receita para edição em modo de texto.

Objetos OLE (object linked and embeded). OLE é uma tecnologia desenvolvida pela Microsoft para linkar e embarcar objetos de outros programas em aplicações com suporte OLE, ou seja, para serem visualizados e editados em outras aplicações. Pode-se embarcar imagens de bitmap, planilhas Excel e open document, apresentações de Slides, vídeos, sons wave, etc... pode-se criar um objeto novo criando um novo arquivo (planilha de Excel, bitmap etc...) ou apartir de um arquivo já salvo. Veja que ao criar um arquivo novo, não é possível “salvar” esse arquivo. Esses arquivos ficam armazenados em uma base de dados do próprio RSView e só podem ser editados pelo RSView. Já se criarmos um objeto OLE apartir de um arquivo já salvo temos 2 opções, ou vincular o arquivo ou embarcar o arquivo. Quando se embarca um arquivo, o conteúdo daquele arquivo é copiado para a base de dados, assim ao se alterar o arquivo original não será realizada nenhuma alteração na base de dados (ou seja as alterações não serão vistas no supervisório). Já quando se vincula um arquivo, ao se alterar o arquivo original, se alterará também no supervisório.

Page 23: Material Didatico - Curso SCADA

Tag monitor: é uma tabela onde se vê informações sobre tags. Quando se cria um objeto de tag monitor abre-se em modo de edição, e deve-se adicionar os nomes das tags que desejam ser monitoradas, assim serão exibidos o valor atual da tag, o Status da tag e a descrição da tag. O campo “?” indica se a tag existe na tag database ou se o nome não foi encontrado. Os possíveis status de uma tag são: Disabled, Error, None, Stale, Uninitialized, or Valid.

Valid: quando o valor da tag é corrente e valido.

Disabled: o nó da tag está desabilitado

Stale: já foi requisitado o valor da tag, porem ainda não houve resposta da parte do nó. Porem ainda não estourou o período de wait time. difere do status unitialized, pois o valor da tag foi adiquirido em algum ponto no passado.

Unitialized: igual a stale, porem nunca houve a aquisição de dados antes.

Error: a tag esta em erro de comunicação e não houve aquisição do valor atual da tag.

None: a tag não corresponde a uma tag valida RSView

O objeto tag monitor pode ser editado em run time.

Exite também os arquivos tag monitor que diferem do objeto tag monitor por não ficarem embarcados nas telas. Os arquivos tag monitor podem ser criados clicando em tag monitor dentro da pasta graphics. Os arquivos funcionam iguais aos objetos tag monitor, e podem ser visualizados pelo comando MONITOR <nome>. Pode-se salvar vários arquivos tag monitor, assim fica fácil o acesso a informações quando se deseja monitorar uma grande quantidade de variáveis.

ActiveX é um framework para definição de componentes de software reutilizáveis (conhecidos como controles) que realizam uma função particular ou um conjunto delas de um modo que é independente da linguagem de programação que as implementa. Controles active x extremamente utilizados em quase todas aplicações são os controles Microsoft forms – scroll bar, combo Box, list Box, check Box, etc... o RSView possui suporte activeX, que é uma poderosa ferramenta de programação, e deve ser usada por projetistas avançados. O conteúdo de activeX não será abordado nesse curso.

USUARIOS E SEGURANÇA: o sistema de segurança do RSView possui uma ferramenta de login, e aos usuários deve-se dar privilégios de acesso a certas tags e telas e utilizar certos comandos. Pode-se adicionar e editar usuários em USERS ACCOUNT dentro da pasta system, na aba Edit mode. Ao abrir o editor de contas de usuários pela primeira vista, será exibido a lista de usuários (contando apenas com o usuário DEFAULT). O usuario DEFAULT é o usuario padrão que, na pratica, não é usuário algum. Ou seja quando o supervisório é iniciado sem nenhum

Page 24: Material Didatico - Curso SCADA

login, o usuário corrente é o DEFAULT. Assim não se deve excluir esse usuário. Para adicionar um usuário basta escolher uma nova linha, definir o nome de usuário (account ID) e o password para esse usuário. Nos campos login macro e loggout macro são opcionais e pode-se definir macros que serão executadas automaticamente ao se fazer login e loggout naquele usuário (realiza-se o login e o logout pelos comandos login e logout). Os códigos de segurança (security codes) são para especificar quais telas, tags e comandos serão acessíveis a aquele usuário. É possível definir 16 niveis de segurança (de A a P) porem não é necessário utilizar todos. Um security code marcado significa que aquele usuário possui acesso às tags e telas com aquele mesmo security code.

Ao editarmos uma tag, no tag database, vemos o campo security, aonde podemos definir um security code à tag. Assim só os usuários que tenham permissão a aquele security code terão acesso para alterar o valor da tag, porem poderão visualizar seu valor, seja por input filds, display fields, animações, etc... ao deixarmos o asterisco (*) no campo security, significa que qualquer usuário tem acesso aquela tag.

Ao editarmos as configurações de uma tela (display settings) também vemos um campo de security code. Caso um usuário tente acessar telas que ele não possui acesso, uma mensagem de erro será exibida.

Também podemos fazer restrição de uso de certos comandos e macros. Para isso va na aba Edit Mode, na pasta system – security codes. Abrira uma planilha, e na primeira linha vemos os campos Command como DEFAULT , security code como * e description como Default undefined-object security code. É necessário deixar essa primeira linha como está (na verdade ela não é editavel). Para associar um código de segurança a um comando escolha uma linha vazia, escolha o comando ou macro que deseja restringir e o codigo de segurança que dará acesso aquele comando. Assim apenas usuários com acesso aquele código poderão utilizar aquele comando (ou macro), mesmo que o comando esteja associado a um botão ou listado numa macro que o usuário tenha acesso. O campo description é opicional e dará apenas uma descrição ao comando ou macro.

Observação sobre a linha 1: não existe o comando DEFAULT. Na realidade na primeira linha podemos configurar um security code de acesso ilimitado diferente do asterisco. Isso pode abrir a possibilidade de criar estratégias de restrição de comandos por EXCLUSÃO, porem pode causar certa confusão.

A estratégia de restrição por INCLUSÃO, é a técnica vista até agora. Nessa estratégia a maior parte do conteúdo seria acessível a qualquer usuário, ou seja o conteúdo com security code * seria acessível a qualquer usuário, e apenas o conteúdo com security code diferente de * que seria restringido a certos usuários. Assim para INCLUIR a restrição, configuramos um security code diferente de * para o objeto que queremos restringir.

Na estratégia de restrição por EXCLUSÃO, a maior parte do conteúdo NÃO seria acessível a maioria dos usuários (menos normalmente ao administrador). Assim todo objeto com security code * seria restrito, logo deve-se EXCLUIR a restrição a certos objetos que devem ser acessados por todos ou por parte dos usuários. Para excluir a restrição, configuramos o security code diferente de * para o objeto que queremos que vários usuários tenham acesso.

Page 25: Material Didatico - Curso SCADA

É possível utilizar essa estratégia apenas para restringir COMANDOS (e apenas comandos). Para isso deve-se configurar a primeira linha da tabela de security codes (linha DEFAULT), mudando o campo “security code” para algo diferente de asterisco (normalmente P). assim somente os usuários com acesso ao código de segurança (P por exemplo) terão acesso a maioria dos comandos que está sem código associado (não listado aqui). Como existem muitos comandos, caso queira-se restringir a maioria deles, essa estratégia é mais eficaz (melhor do que restringir os comandos um a um). Assim apenas os comandos que não serão restritos que devem ser associados a um security code (diferente do DEFAULT, “P” por exemplo). Lembre-se que isso não afetará o acesso às tags e telas com código *, somente os COMANDOS.

Pode-se também desabilitar a segurança de comandos para isso vá na tela de security codes, no menu SETUP, strict security, e desabilite o strict security.

OBS.: repare que ao criar o projeto o usuário DEFAULT aparece com todos os códigos de segurança. É provável que se queira desabilitar o usuário desses códigos.

OBS.: repare que a restrição só é valida se o usuário não tiver acesso ao RSView Works, já que qualquer um pode editar as contas de usuários.

Utilizando contas de usuários Windows como contas RSView:

É possível sincronizar as contas de usuários Windows com as contas de usuários do supervisório. Para isso va em users account, no menu Setup, Windows security options, e marque a opção “ use Windows user accounts as source for RSView32 User account”. Assim ao se logar com um usuario pelo logon do windows, o usuario estará automaticamente logado no RSView quando o projeto for aberto.

Windows domain: é o domínio, normalmente só tem um que é o domínio da própria maquina.

Synchronize RSView32 user accounts with Windows user accounts: para utilizar todas as contas do windows (normalmente existem contas inuteis como ASPNET, HelpAssistant…) marque essa opção. para selecionar quais contas serem vinculadas e quais não desmarque e edite a lista “RSView32 User Accounts”.

Veja que quando se usa as contas de usuários Windows como fonte das contas RSView não é possível adicionar novos usuários pelo USER ACCOUNT. Isso por que, utilizando essa opção, quem faz a validação de usuário e senha é o Windows NT e não mais o RSView. Assim para adicionar novos usuários, deve-se fazer pelo gerenciamento de contas do Windows. Veja também que os campos account ID e Password agora não são editáveis. Porem o password das contas ainda pode ser alterado utilizando o comando PASSWORD. O comando password irá alterar o password do usuário atualmente conectado. O comando ao ser executado irá abrir uma janela onde deve-se colocar o password antigo e o novo. Ao alterar o password de uma conta Windows aqui também se alterará o password que logon do Windows.

Page 26: Material Didatico - Curso SCADA

Alarmes:

Em processos, certas variáveis devem permanecer dentro de uma faixa de operação para segurança das pessoas e equipamentos. É comum também utilizar tags que indicam situações de alarme ou alerta. Essas tags são controladas pela lógica do CLP, e indicam que alguma inconformidade ocorreu no processo. Essas tags podem acionar alarmes. Alarmes servem para indicar ao operador que certa inconformidade ocorreu. Alarmes podem ser visualizados em BANNERS de alarme ou no SUMARIO DE ALARMES. Alarmes também podem disparar rotinas, animações entre outras coisas que chamem a atenção do operador de supervisório, e este deve tomar alguma decisão para solucionar o problema.

Para configurar alarmes de tags, va no tag database, selecione a tag a qual deseja-se configurar um alarme e marque a checkbox ao lado do botão de alarme. Alarmes podem ser configurados em tags digitais ou analógicas, e a configuração para cada tipo de tag é diferente.

CONFIGURAÇÃO DE ALARME DE TAG ANALOGICA

Alarme thresholds: limiar de alarme, é um valor ao qual se o valor da tag ultrapassa-lo, a tag entra em alarme. Pode-se configurar 8 limiares de alarme assim como pode-se configurar 8 severidades de alarmes (severitys). As severidades de alarme servem para indicar o grau de perigo do alarme ( de 1 a 8 sendo o grau 1 o mais urgente ou perigoso ). Limiares também podem ser acendentes ou descendentes (increasing e decreasing), assim caso um limiar seja acendente, se a tag atingir um valor ACIMA do valor de limiar a tag estará em alarme. Caso um limiar seja descendente, se a tag atingir um valor ABAIXO do valor de limiar a tag estará em alarme.

Há uma regra para posicionar os limiares: deve-se colocar os limiares acendentes nos números maiores (1-8, cuidado para não confundir com severitys) e os decendentes nos numeros menores, de forma que os valores de limiar também estejam em ordem crescente diacordo com o numero de limiar (1-8, cuidado para não confundir com severitys). Também não é possível que, caso o limiar de numero 4 seja acendente o de numero 5 seja descendente. Assim se o limiar de numero N seja ascendente todo limiar de numero maior que N deve ser ascendente. Também caso o limiar de numero M seja descendente todo limiar de numero menor que M deve ser descendente. Caso tente-se configurar um limiar fora desses padrões uma mensagem de erro será exibida. Essas regras são definidas pois só deve existir uma faixa de valor no qual a tag não estará em alarme, mesmo que essa faixa não tenha um dos limites inferior ou superior.

Também é possível configurar um rotulo para cada limiar de alarme (Alarm Label) que será visualizado nas mensagens de alarme. Exemplos de rotulo: “pressão baixa no tanque”, “pressão alta no tanque”, “pressão muito alta no tanque”, “PERIGO! Pressão alta no tanque”...

Page 27: Material Didatico - Curso SCADA

OBS.: Ferramentas para visualizar alarmes

O Alarm summary: o sumario de alarme é um objeto avançado que exibe um registro de todos os alarmes que ocorreram e a atual situação dos alarmes (se já foram resolvidos ou não). Após criarmos um sumario de alarme este é aberto em modo de edição. A primeira coisa a se configurar é quais informações serão exibidas no sumario de alarme. O projetista do sistema pode escolher entre varias informações sobre os alarmes, para isso clique no menu Insert (enquanto edita o sumario de alarme) e escolha as informações que serão visualiza e a posição que esta será exibida ( ou seja, a disposição das informações). Pode-se escolher visualizar:

Nome da tag, valor da tag (na hora que ocorreu o alarme), descrição da tag, unidade de medida da tag o tipo de alarme (InAlarm, OutAlarm ou InOutAlarm), a hora e data do alarme, a severidade do alarme, o rotulo do alarme (alarm label), o limiar do alarme (se for analógico), o numero de limiar de 1-8 (analog level), o tipo de alarme digital (falaremos em seguida), a hora e data de reconhecimento do alarme (acknowledge time e date, também falaremos em seguida) e o nome do operador (usuário) logado na hora que ocorreu o alarme.

veja que o sumario é dividido em dois retângulos, um superior e um inferior. O retângulo superior contem as legenda (legenda das colunas). É possível alterar a legenda clicando no retângulo de cima da informação que deseja alterar a legenda. Também é possível inserir um texto qualquer no retângulo de cima (como um titulo), para isso no menu insert clique em TEXT, posicione o campo de texto, clique duas vezes e edite o texto.

TESTANDO O SUMARIO: primeiro é necessário ligar o monitoramento de alarmes. Por padrão o monitoramente de alarme está desligado. Pode-se ligar o monitoramento de alarmes com o comando Alarmon . tambem pode-se colocar o comando alarmon no behavior de uma tela, ou configurar o StartUp do projeto para já iniciar com o monitoramento ligado. O comando antônimo é o alarmoff que desabilita o monitoramento de alarme. OBS.: por um “bug” do RSView, ao se fazer alterações na configuração de alarmes de tags, tendo o monitoramento ligado, estas alterações não serão levadas em consideração e deve-se desligar e religar o monitoramento para que as alterações passem a valer.

Em run mode o sumario é preenchido com as informações de alarme na medida que estes ocorrem. Quando uma tag entra em alarme uma nova linha em vermelho é criada no sumario, caso a tag ultrapasse outros limiares, novas linhas são criadas e ambas continuam em vermelho. Quando aquela tag volta a faixa de operação normal as linhas de alarme passam de vermelha para azul e uma mensagem de OutAlarm é exibida no sumario indicando que a tag saiu de alarme. É possível alterar essas cores, podendo também configurar cores diferentes para cada severidade de alarme (severity).

Ainda em run mode, perceba os botões:

Ack significa Acknowledge, ou reconhecer. Sempre que um alarme é soado o operador deve reconhecer o alarme, assim fica registrado que o operador tomou conhecimento da situação e quando isso aconteceu. Ao se reconhecer um alarme a mensagem de InAlarm muda de cor, também são apagadas mensagens velhas de OutAlarm,

Page 28: Material Didatico - Curso SCADA

permanecendo apenas as mensagens recentes. Pode-se reconhecer um alarme isolado selecionando-o e clicando em ack current, pode-se reconhecer uma pagina de alarme (pagina é tudo que for visível no sumario) clicando em Ack Page, ou pode-se reconhecer todos os alarmes de uma só vez clicando em Ack ALL.

Silence serve para silenciar um alarme. Alarmes podem soar avisos sonoros como sirenes (veremos mais a frente como fazer isso), e o botão de Silence silencia o alarme. Também pode-se silenciar um alarme, uma pagina ou todos.

O botão identify serve para executar um comando ou macro associado a cada alarm (falaremos mais adiante)

O botão filter e sort servem para filtrar e organizar temporariamente as mensagens do sumario. Em filter é possível escolher quais tags serão visualizadas. É possível listar tags especificas (digite a lista de tags a serem visualizadas ou asterisco para visualizar todas), tipos de tags (analógicas ou digitais), tipo de mensagem (falha, OutAlarm), e listar por severidade. Em sort pode-se estabelecer 3 regras de organização (cronologicamente, por severidade, e por nome da tag) e se será em ordem crescente (ou alfabética) ou ordem decrescente.

Pode-se escolher quais botões exibir ou não e aonde estes estarão posicionados editando o objeto alarm summary.

Pode-se usar também os comandos identify, acknowledge, acknoowledgeall, silence, e silenceall ao invez dos botões usuais do sumario.

Para editar novamente o sumario basta clicar 2 vezes no objeto. No menu FORMAT é possível editar a fonte e tamanho do texto do cabeçalho e do corpo (header e body font). Também é possível configurar as cores (colors). Para cada nível (severity) é possível configurar mensagens de InAlarm. Essas mensagens podem ser visualizadas em 3 situações: quando a tag ainda está em alarme, quando a tag já saiu do estado de alarme, ou quando a tag está em alarme porem o operador já reconheceu o alarme (acknowledge). Também é possível escolher se a mensagem irá piscar (blink) e as cores caso a mensagem esteja selecionada (highlight) . a mensagem de out of alarm state é diferente da mensagem de in alarm quando está não esta mais em alarme, e tambem pode-se configurar cores para ela. As mensagens de Fault State serão exibidas caso ocorra alguma falha de comunicação que ocasione a perda da informação de uma tag que possua alarme (uma falha de comunicação pode ocasionar a perda de informação de certas tags, porem não necessariamente de todas). Mensagens de fault state também podem ter as cores configuradas. Ainda é possível configurar as cores do texto e fundo do cabeçalho (header) e as cores de fundo da área de corpo e da área de botões do sumario.

Ainda no menu Format é possível escolher quais botões serão exibidos e em qual posição a barra de botões será exibida. Repare que existe também o botão Execute, normalmente não

Page 29: Material Didatico - Curso SCADA

exibido. O botão execute serve para executar um comando, macro ou rotina VBA sempre que for pressionado. Pode-se definir o comando, macro ou rotina do botão execute no menu Data – Execute... preencha com o comando ou macro e escolha os parâmetros. Esses parâmetros serão repassados em run time para o texto do comando e dependem da tag e da mensagem selecionada no sumario (lembre que não se pode fazer isso em macros, botões etc...). repare o texto completo do comando no retângulo cinza inferior. assim pode-se por exemplo:

Ramp TagName Value – somar a tag selecionada o valor dela no momento do alarme... nada muito útil.

Os parâmetros do botão execute tem mais utilidade se forem utilizados com rotinas VBA. Pode-se por exemplo programar uma função VBA que tome todas as medidas necessárias para tirar a tag da situação de alarme, assim bastaria passar alguns paramentros como nome da tag, valor, etc... assim o comando ficaria algo do tipo:

VBAexec funcaoVBA TagName, Value, etc...

Veja que para passar parâmetros para rotinas VBA deve-se utilizar virgulas para separa-los. Assim marque a opção Separate Parameters With Commas.

No menu Data tambem podemos escolher como serão filtradas e organizadas as mensagens do sumario (agora não mais temporariamente).

Sumários de alarme também podem ser criados em arquivo. Para criar um duplo clique em alarm sumary, na pasta alarm, na aba Edit mode. E para visualiza-lo duplo clique no nome do sumario pela aba run mode ou utilize o comando SUMMARY <nome>

Supressão de alarmes: certas tags podem ter seus alarmes suprimidos. Assim esses deixam de ser monitorados até que sejam dessuprimidos. É conveniente suprimir alarmes quando sabemos que eles irão ocorrer, por exemplo, quando uma planta entra em manutenção. Para suprimir o monitoramento de alarme de uma tag utilize o comando SupressOn <nome da tag>. Para voltar o monitoramento de alarmes de uma tag utilize o comando SupressOff <nome da tag> ou SupressOffAll para voltar o monitoramento de todas as tags. É possível visualizar uma lista de tags que estão suprimidas, para isso duplo clique em Supressed List, na pasta Alarm. Por essa lista também é possível desligar a supressão de tags pelos botões supress off (tira a tag selecionada da lista) e all off (tira todas as tags da lista).

Voltemos à configuração de alarme das tags.

Em Tags Analogicas, na aba advanced temos as seguintes opções:

Alarm identification: é um comando ou macro que será executado quando o botão identify for pressionado com aquela tag selecionada.

Page 30: Material Didatico - Curso SCADA

Out of Alarm label: é o rotulo a ser exibido na mensagem de OutAlarm daquela tag.

Deadband: zona morta, ou histerese ( apesar de possuírem conceitos diferentes zona morta e histerese são comumente confundidos, e nesse caso o termo mais correto seria histerese e não zona morta). A histerese serve para previnir que tags oscilantes disparem muitos alarmes de uma só vez, pois tags oscilantes ultrapassam o limiar de alarme e voltam ao estado normal rapidamente, e logo ultrapassam o limiar denovo. Certas tags oscilam por possuírem algum tipo de ruído interferindo nelas, assim a mudanças rápidas porem a variação da media instantânea é suave. Para prevenir o disparo de vários alarmes utiliza-se a histerese. A histerese funciona da seguinte maneira: caso uma tag ultrapasse um limiar ASCENDENTE esta estará em alarme e só sairá do alarme caso atinja um valor menor que o limiar MENOS o valor de histerese (seja absoluto ou em percentagem do valor de limiar). Caso uma tag ultrapasse um limiar DESCENDENTE esta estará em alarme e só sairá do alarme caso atinja um valor maior que o limiar MAIS o vaor de histerese. Assim tome cuidado com os valores de histerese para não consumir toda a faixa de operação.

Para definir o valor de histerese deve-se estudar o comportamento da tag. Tags intermitentes geralmente possuem uma componente de variação rápida (frequentemente chamado de ruído) porem com um alcance limitado. Convem medir esse alcance para definir o valor de histerese.

Alarm acknowledgment bit: pode-se definir uma outra tag binária como bit de reconhecimento de alarme, assim quando o operador pressionar o botão de reconhecimento o estado desse bit irá alterar para 1. Esse bit pode ser usado pela lógica do CLP para realizar algum tipo de controle. Caso seja selecionado Auto Reset, o bit retornará altomaticamente para zero quando a tag sair de alarme. Caso não seja selecionado, a lógica do CLP deverá retornar o bit para zero em um momento propicio.

Alarm Handshake bit: pode-se definir uma outra tag binária como um bit de handshake. Esse bit pode ser utilizado por outros CLPs, que não monitorem a tag em alarme, mas que estão envolvidos no processo. Esse bit pode ser usado na lógica desses CLPs para realizar algum tipo de controle. Para que esse bit possa funcionar deve-se ligar o handshake. Para isso pode-se usar o modificador do comando alarmon [/h] ou utilizar o comando handshakeon. Existe também o comando antônimo handshakeoff.

Mensagens de alarme: mensagens de alarme podem ser configuradas. Estas mensagens serão armazenadas no REGISTRO DE ALARME (alarm log). Existem 3 tipos de mensagens: mensagem de In Alarm quando a tag ultrapassa algum dos 8 valores de limiar, out of alarm quando volta ao normal, e acknowledge quando o operador reconhece o alarme. Para cada um dos 8 limiares e para as mensagens de out of alarme e acknowledge pode-se configurar uma mensagem diferente. Pode-se usar as mensagens padrão do sistema e padrão do usuário ou definir uma mensagem customizada. Pode-se utilizar marcadores (PlaceHolders) para serem substituidos por valores em runtime. Os place holders são:

Page 31: Material Didatico - Curso SCADA

\d Data da mensagem\t Hora da mensagem\n Nome da tag em alarme\c Valor da tag no momento que entrou em alarme\v Valor de limiar que foi ultrapassado\s Descrição da tag em alarme\l Rotulo de alarme da mensagem\u Unidade de medida da tag em alarme

Também pode-se configurar mensagens diferentes para os dois tipos de registro de alarmes (alarmes podem ser registrados em um arquivo de texto – file – ou atravez de impressão – printer)

A mensagem padrão do sistema não pode ser editada, porem a mensagem padrão de usuário pode. Para isso acesse o Alarm Setup na pasta Alarm, na aba Edit mode. No setup de alarm serão definidas as configurações de registro de alarmes entre outras. Na aba user msgs definem-se as mensagens padrão de usuário da mesma forma como se define as customizadas (utiliza-se placeholdes, configura-se mensagens de arquivo de registro e de impressora).

Na aba Severitys pode-se configurar aonde e se cada uma das mensagens serão registradas. Alem das mensagens já conhecidas temos também a mensagem de supressão, gerada sempre que alguma tag for suprimida ou dessuprimida. Para cada mensagem podemos escolher o destino: registro em arquivo de texto (log to alarm log file), registro em impressora (log to printer), ambos ou nenhum. Também é possível configurar uma “anunciação” para cada nível de severidade. Trata-se de um sinal sonoro que pode ser interno (um arquivo de som wave que será executado no PC) ou externo (uma sirene externa). No caso da sirene externa, configura-se uma tag que o CLP utilizará para acionar uma sirene em campo (alimentando a sirene ou acionando um relê para ligar a sirene).

Na aba Setup configuramos o registro de alarme em arquivo. Os arquivos de registro de alarme são armazenados no caminho primário que fica dentro da pasta raiz do projeto. Esse caminho (primary path) pode ser editado, para isso clique em browse e escolha o caminho que deseja armazenar os arquivos de log.

Marque “Generate Alarms When Approaching Normal Operating Range” caso deseje gerar mensagens de alarme quando se ultrapassar de volta um limiar porem ainda não voltar à faixa normal de operação. Repare que a tag pode ultrapassar vários limiares e para voltar à faixa normal deve retornar por todos esses. Normalmente não é feito o registro do retorno por cada limiar e sim apenas do retorno à faixa normal.

Use RSView32 6.0 log file format – marque se deseja usar um formato de registro antigo (da versão 6.0) – sem importância, mantenha desmarcado.

Page 32: Material Didatico - Curso SCADA

Use long file names (IF supported) – os arquivos de log são salvos no formato .dbf, no caminho especificado. Quando o sistema se inicia ( quando o projeto é aberto ) um novo arquivo de log é criado. O nome de tais arquivos .dbf segue a forma YYMMDDnz.dbf se a forma for curta (short) ou YYYYMMDDnz.dbf se a forma for longa (long file name). Marque essa opção se deseja que os nomes dos arquivos de log tenham a forma longa. Também é possível dividir o registro em vários arquivos pelo gerenciamento de arquivos (file management).

Na aba file management vemos as opções para começar novos arquivos (start new files). Quando um novo arquivo começa, o antigo permanece lá para consulta, esse gerenciamento serve apenas para organizar os arquivos de registro. Pode-se iniciar novos arquivos periodicamente (a cada hora, a cada dia, a cada semana, a cada mês...) , em momentos específicos (utilize uma sintaxe compatível), num determinado evento (gerado pela validação de uma expressão) ou nunca (para que todo o registro seja feito em um único arquivo).

A sintaxe de momentos específicos é:

Day - Sun, Mon, Tue, Wed, Thu, Fri, or Sat

Date - 1 - 31

Hour - 00: - 23:

Minute - :00 - :59

Exemplos:

Mon 12:00 – novo arquivo toda segunda, meio dia

12:00 – novo arquivo todo dia, meio dia

:30 – novo arquivo a cada hora e 30 minutos.

Os campos delete oldest files servem para definir quando arquivos antigos serão automaticamente excluídos

Depois de um tempo de criado (X dias, semanas ou meses)

Depois de uma certa quantidade de arquivos já criados.

Celecionando ambas, os arquivos serão deletados quando uma das duas condições acontecer primeiro

Repare que o registro de alarme, por padrão está ligado. Pode-se desligar o registro de alarme com o comando AlarmLogOff, e religar com o comando AlarmLogOn. O comando alarmlogon habilita o registro tanto em arquivo como em impressora, para habilitar somente o registro em impressora ou desabilitar utilize os comandos AlarmPrintOn e AlarmPrintOff.

Page 33: Material Didatico - Curso SCADA

Configurando alarmes de tags digitais: a configuração de alarme de tags digitais muda em poucas coisas, comparando-se com a de tags analógicas. Em tags digitais não existem limiares. Ao invés disso alarmes digitais serão disparados baseados em seu estado (On ou Off) ou na transição de estado.

O tipo de alarme (alarm type) ON, gerará um alarme quando a tag tiver valor 1

O tipo de alarme OFF gerará um alarme quando a tag tiver valor 0.

O tipo de alarme any change gerará um alarme no exato momento em que se detectar uma variação de estado da tag (de 1 para 0 ou de 0 para 1). Repare que esse tipo de alarme acontece apenas no momento da transição e imediatamente sai do status de alarme (é o alarme de tipo InOutAlarm)

O tipo changes to on e changes to off tem funcionamento similar ao de tipo any change.

Esses tipos podem ser visualizados no campo digital alarm type do sumario de alarme, quando a tag entrar em alarme.

O restante da configuração de alarmes de tag digitais é idêntico ao de alarmes de tags analógicas.

Outros comandos de alarmes:

Pode-se utilizar o comando Alarmlogremark para registrar uma mensagem customizada nos registros de alarme (porem a mensagem não aparecerá no alarm summary).

No campo text escrevemos o texto da mensagem podendo utilizar placeholders.

Pelo comand wizard vemos as opções de modificadores:

Log to printer – registrar também em impressora alem de registrar em arquivo

Severity – pode-se escolher um nível de severidade do alarme para o qual a mensagem se refere

Tag name – pode-se escolher uma tag a qual a mensagem se refere. Veja que os placeholders de tag name, unit e description utilizaram esse modificador como base.

Prompt for remark – ao ser executado o comando uma janela se abrirá onde pode-se reeditar a mensagem (text).

Page 34: Material Didatico - Curso SCADA

Para que o registro seja realizado pelo comando Alarmlogremark é necessário que o registro de alarmes esteja ligado. Assim o comando só deve ser utilizado após o comando alarmlogon.

Pode-se utilizar também o comando AlarmEvent para criar um evento de alarme, evento esse não gerado pelo sistema de monitoramento de alarme. Leia evento de alarme, quando uma tag entra em alarme, sai do alarme, ou entra em falha.

No campo event name deve-se colocar o nome da tag que sofreu o evento de alarme.

No campo alarm type deve-se especificar se o evento é de alarm analógico ou digital (não selecionando utilizará o tipo da tag)

No campo tag value deve-se especificar o tag value que será mostrado no sumario e registrado no alarm log. Caso não se especifique o valor da tag será zero.

No campo severity deve-se especificar o nível de severidade que será mostrado no sumario e registrado no alarm log. Caso não se especifique o valor da severity será 1

Time stamp e date: data e hora. Caso não se especifique será utilizado os valores atuais de data e hora.

Log message: é a mensagem que será armazenada nos registros de alarme. Pode-se usar placeholders.

Mais uma vez o registro de mensagem de alarme só ocorrerá se o registro estiver ligado.

Alarm Log Viewer:

O alarm log viewer é uma ferramenta para visualizar os arquivos de log de alarmes (salvos em .dbf). o alarm log viewer pode ser acessado pela pasta alarms ou pelo comando AlarmViewer.

o campo description é a mensagem de alarme definida pelo sistema, pelo usuário, ou a mensagem customizada. O campo user contem o usuário logado na hora do alarme. E o campo loggin station o nome do computador configurado no Windows.

Obs.: por um bug no RSView é possível que o texto de diferentes colunas se sobreponham.

Pode-se abrir arquivos de registro diferentes no botão SELECT LOG FILE

Page 35: Material Didatico - Curso SCADA

Também é possível visualizar os arquivos de logo pelo Excel. O Excel tem compatibilidade com database IV (.dbf) basta clicar com o botão direito do mouse no arquivo e selecionar abrir com... Excel.

As tags do sistema de alarme:

na pasta system do tag database, pode-se acessar por meio de tags algumas informações referentes aos alarmes mais recentes. A importância dessas tags é que, não se pode colocar em todas as telas um sumario de alarmes, porem é recomendável que se coloque um banner de alarme em todas as telas. Assim o operador de supervisório terá acesso rápido a informações do alarme. Um alarm banner nada mais é do que um campo de string display (ou vários campos) associados a tags de informações de alarmes. Pode-se utilizar apenas a tag alarm banner (que contem a hora e a tag que entrou em alarme) ou agrupar vários displays para formar uma mensagem mais completa.

GRAFICOS DE TENDENCIAS E REGISTRO DE DADOS:

Gráficos de tendências (trends) são gráficos que mostram a evolução no tempo das tags selecionadas. Gráficos de tendências são advanced objects (trends). Quando criado um trend será aberta uma janela de configurações. A primeira coisa a se configurar num gráfico de tendências são as tags que serão visualizadas nele. Para isso vá na aba pen configuration. Uma pena (pen) é uma linha ou legenda de um gráfico. A uma pena se associa uma tag, uma cor de linha, um estilo de linha, entre outras configurações. Nos gráficos de tendências do RSView é possível se configurar 16 penas num mesmo gráfico (Caso deseje-se visualizar mais penas é necessário sobrepor dois ou mais gráficos).

Escolha o numero de uma pena para edita-la.

No campo “Tag or Value” pode-se associar à pena uma tag ou um valor numérico fixo. (valores numéricos fixos normalmente servem como referencia)

Em Style configura-se o estilo da linha

Show line: mostra a linha. Desabilite caso não deseje visualizar a pena no grafico (assima pena servirá apenas de referencia)

Show Plot Symbol: caso queira que a linha seja composta de simbolos

Custom pen width: configure uma espessura para a linha da pena.

Page 36: Material Didatico - Curso SCADA

Line interpolation: configure a interpolação da linha (lembre que o gráfico é composto de pontos – amostras – que devem ser interpolados para formar linhas continuas)

Linear – variação gradual

Digital – variações em degrais

Automatic – escolhe linear para tags analógicas e digital para tags digitais.

Full width – apresenta apenas o valor corrente da tag em uma linha reta horizontal no gráfico

Shading (sombreamento): pode-se configurar um sombreamento do gráfico para conferir destaque à pena quando essa ultrapassa certos limites. É possível definir 2 limites, um superior (upper bound) e um inferior (lower bound). O valor desse limite deve estar em uma pena, e pode ser uma tag (valor variável) ou um valor numérico fixo (desde que esteja associado a alguma pena. Esses valores são os de referencia.

Pen Scale: escala vertical da pena. São os limites que aparecem no gráfico. Pode-se usar os valores Maximo e mínimo da tag ou um valor diferente para ajustar o gráfico para uma boa visualização.

Legend: o gráfico de tendências possui uma área de legendas, marcando “include in legend” a pena selecionada será incluída na legenda

Na aba trend configuration: temos mais opções de configuração do gráfico

Time axis: eixo do tempo ou eixo horizontal

Time range: intervalo ou alcance de temo (o intervalo de tempo que cabe no eixo horizontal de tempo). Deve-se especificar também a unidade de tempo. Unidades validas são: Sec, Min, Hour, Day and Week

Divisions: são divisões da área no sentido horizontal, divisões da grade, apenas visíveis se for marcado a opção de visualizar a grade (grid).

Major são divisões maiores: quantidade de áreas que a área total é dividida

Minors são divisões menores: quantidade de áreas que as áreas major serão divididas.

Scale: marque para exibir a escala de tempo (graduação)

Date e time: marque para exibir data e hora na escala de tempo

Gride: marque para exibir as linhas de grade.

Page 37: Material Didatico - Curso SCADA

Scroll axis: marque essa opção para que as linhas de grade se movimentem na medida que o gráfico é atualizado. Caso seja desmarcado as linhas de grade ficarão estáticas e apenas as linhas das penas se moviementarão pelo gráfico

Vertical axis: configura o eixo vertical

Divisions, scale e grid: idem ao eixo do tempo.

Digits: determine o numero de dígitos que os valores na escala do eixo vertical terão. Tome cuidado para que seja possível visualizar o valor Maximo da tag

Legend: marque essa opção deseja visualizar o campo de legenda do gráfico.

Control: configurações de controle do gráfico

Rate: é o período de atualização do gráfico em segundos. O mínimo (mais rápido) é de 1 segundo.

Control tag: os objetos trend utilizam tags de controle que controlam o funcionamento do gráfico. Ao criar um trend criam-se automaticamente essas tags. Quando-se deseja configurar vários gráficos diferentes é necessário diferenciar cada gráfico utilizando tags diferente. Digite no campo control tag o caminho (pastas) aonde deverão ser criadas as tags de controle daquele grafico. 2 graficos diferentes também podem compartilhar as mesmas tags, basta que os 2 graficos tenham o mesmo caminho no campo control tag.

Data source: fonte de dados. Falaremos sobre fontes de dados e gráficos históricos mais afrente.

Testando e controlando gráficos:

Primeiro coloque todos os objetos contidos na library trends (inclusive o gráfico) em uma tela qualquer. Repare que a control tag configurada para o gráfico é da pasta “trend”. Repare nas ações de cada botão, em todos há comandos que agem sobre tags da pasta trend.

Vamos testar alguns comandos e relacionar as tags de comando as suas respectivas funções:

O slider “zoom Y-axis” – zoom do eixo vertical. O slider altera o valor da tag “Ymag” dentro da pasta “trend”. Quando a tag Ymag tiver valor zero o alcance (range) do eixo vertical é o definido nas configurações da trend e ao diminuir ou aumentar seu valor este range é modificado dando um zoom in ou zoom out doo eixo Y

Page 38: Material Didatico - Curso SCADA

Scroll Y-axis – esses botões incrementam e decrementam o valor da tag “Yoffset” dentro da pasta “trend” (veja o comando: trend\yoffset = trend\yoffset + 10). A tag Yoffset desloca o grafico para baixo se o seu valor for incrementado e desloca o grafico para cima se o seu valor for decrementado. Assim pode-se navegar pelo eixo vertical.

Reset Y-axis – esse botão retorna as tags Ymag e Yoffset para os valores iniciais (zero e zero).

O slider Time Range altera a tag “TimeRange” dentro da pasta trend. Ao iniciar a tela em modo run o valor dessa tag tem o valor definido nas configurações da trend. A tag indica o alcance do eixo de tempo em segundos.

O botão reset X-axis – ajusta a tag TimeRange a um valor preestabelecido (veja que não é necessariamente o mesmo que é definido nas configurações da trend.

O botão Pause/Resume alternam o valor da tag binária “Paused” dentro da pasta trend. Essa tag faz o gráfico pausar quando o valor da mesma é 1. Alternando-se novamente para 0 o gráfico retorna a atualizar. Alem disso o botão tem um label que exibe o Rotulo de estado da tag “Paused”, os rótulos são “resumed” para 0 e “paused” para 1.

Os botões Scroll forward e scroll backwards: alteram o valor da tag StartTime incrementando ou decrementando do valor de time range. Porem é aconselhável alterar o comando, substituindo o incremento por um valor abaixo do timerange (como timerange/5) assim realizando uma navegação mais suave. Pode-se definir também para a ação de repeat um incremento maior (como timerange/2) para uma navegação mais veloz quando se desejar. A tag StartTime representa a posição do tempo da ponta direita do gráfico, com valor em segundos relativo a data primeiro de janeiro de 1970 a meia noite ( Ou seja a diferença de tempo em segundos ). Enquanto esta tag esta sendo atualizada o valor da mesma é o valor de tempo atual.

Os botões oldest time e newest time, ajustam o valor de StarTime utilizando os valores das tags OldestTime e NewestTime, assim visualizando os dados mais antigos (oldest) ou os dados mais recentes (newest). A tag NewestTime contem um numero de segundos (da mesma forma que o StartTime) que representa o momento que foram adiquiridos os dados mais recentes (normalmente o tempo atual). Já a tag OldestTime contem um numero de segundos que representa a amostra de dados mais antiga disponível... ( os dados que estão sendo visualizados no gráfico precisam ser salvos em uma tabela. O RSView aloca um espaço da memória Ram – buffer de memória – para armazenar tais dados. Esse espaço é limitado, assim só consegue-se visualizar no gráfico uma certa quantidade de amostras. Assim dados muito antigos não ficam para sempre disponíveis, ocorrendo uma perda de dados a não ser que se faça o registro de dados – Data Log)

A legenda e a escala:

Page 39: Material Didatico - Curso SCADA

pode-se selecionar uma pena pelo espaço de legenda. Ao selecionar a pena a escala do eixo vertical exibirá a escala correspondente a pena selecionada (note que cada pena possui uma escala de eixo vertical diferente, mesmo por que são variáveis diferentes, possivelmente de unidades de medida diferentes). Pode-se selecionar um ponto no tempo clicando no gráfico em run time. assim na legenda será exibido, ao lado do rotulo de cada pena, o correspondente valor naquele ponto do tempo selecionado.

Os botões show only selected, hide selected e show all pens:

O primeiro esconde todas as penas menos a selecionada na legenda. O segundo esconde a pena selecionada e não altera o estado dos outras. O terceiro faz reaparecer todas as penas no gráfico.

Esses botões alteram o valor da tag “penmask” utilizando como base o valor da tag “currentpen”. A tag “currentpen” é o numero de 1-16 que representa o numero da pena selecionada na legenda. A tag “penmask” é uma variável de 16 bits, onde cada bit desta variável representa se a pena será visualizada ou não. Exemplo: quando a tag “penmask” tem valor = 0000100010001100 então apenas as penas 3, 4, 8 e 16 serão visualizadas. para fazer uma seleção utilizando a tag “currentpen” o botão utiliza o operado bit shift (<<) que realiza um deslocamento bit a bit. A seleção de penas fica um tanto complicado pela necessidade de operações bit a bit, e não é do interesse do curso desenvolver muito esse assunto.

Os botões de Oldes e newest file, back one e forward one file serão vistos mais adiante.

Para criar um outro gráfico que necessite de tags de controle diferentes é aconselhado utilizar a ferramenta TAG SUBSTITUTION. Para isso basta copiar novamente os objetos da library TRENDS (lembre que esses estão associados as tags da pasta Trend), clicar na seleção com o botão direito – tag substitution, ou no menu Edit, ou pelo atalho CTRL + R. bote no campo “Search for”, o nome ou parte do nome da tag antiga, a qual deseja substituir, e coloque no campo “Replace with” o nome ou parte do nome da tag para a qual deseja substituir. Confirme as mudanças que deseja realmente fazer, cancele ou clique em Replace all para realizar mudanças em qualquer resultado valido encontrado. No exempo, em search for coloque “Trend” (sem aspas) e em Replace with coloque o nome de uma pasta nova aonde deseje salvar as tags de controle do novo gráfico, clique em replace e replace all. Veja que ao realizar a troca, automaticamente se criam a pasta e as tags de controle dentro dela (não é necessário criar as tags antes de substituir).

A ferramenta tag substitution realiza a troca em todo campo de configuração de tag, caminho, comando, animações, etc... que esteja dentro da seleção. No caso se selecionar um grupo será realizada a troca em todos os objetos compreendidos naquele grupo.

Gráficos também têm atributos (cor e estilo da linha, cor de preenchimento e padrão do preenchimento). Estes devem ser editados como qualquer outro objeto. Para sobrepor gráficos é necessário que os gráficos sobrepostos tenham o preenchimento do tipo Hollow (vazio) e que estejam organizados da maneira correta, ou seja, todos os gráficos

Page 40: Material Didatico - Curso SCADA

devem ser hollow, menos um e este que não é hollow deve estar atraz de todos os outros gráficos. Normalmente gráficos sobrepostos compartilham as tags de controle ou estas estão relacionadas de alguma outra maneira, assim a navegação entre os gráficos é feita com sincronização.

O registro de Dados (data log): pode-se fazer o registro de dados, criando tabelas com uma serie de amostras de valores das tags no tempo. Esses pontos juntos formam gráficos e podem ser utilizados posteriormente em experiências, para comparação com dados atuais (para verificar ganho de eficiência por exemplo) ou para simples conferencia.

Para configurar o registro de dados vá na aba Edit mode, na pasta Data Log, em Data Log Setup. Os arquivos de configuração de registros podem ser salvos, esses arquivos são chamados de models, e pode-se ter varias configurações de registro diferentes em um mesmo projeto (vários Models). A primeira coisa a se configurar em um model são quais as tags terão seus valores registrados. Para isso vá na aba Tags in Model:

No campo Tag(s) to add, digite o nome de uma tag ou navegue pelo tag database. Após isso clique em add para adicionar a lista de tags do model. Utilize o botão remove, e remove all para remover tags adicionadas por engano ou que não se queira mais. (veja que models diferentes podem registrar grupos de tags diferentes ou iguais. Veja também que pode-se realizar o registro apartir de vários models ao mesmo tempo).

Na aba log triggers deve-se configurar o evento que disparará o registro. O registro pode ser periódico ( realizando amostras a cada segundo, décimo de segundo, centésimo de segundo, etc...). pode ser On Change, ou seja, quando houver mudança do valor da variável (utilize esse disparo caso a tag não altere frequentemente de valor ou se a tag for digital – para monitorar tags digitais basta saber quando houve transição). Ou pode ser On Demand (por demanda), no caso seria registrado a amostra apenas quando o comando DataLogSnapshot <nome do model> fosse solicitado.

Na aba Setup configura-se, antes de tudo, o formato de armazenamento dos registros.

Pode-se escolher 3 formatos de armazenamento: dBase IV (narrow), dBaseIV (Wide) e

ODBC. O formato dBase (de extensão .dbf) é um formato simples, antigo e pouco

utilizado atualmente, pois apresenta restrições de uso do banco de dados. O formato

ODBC (acrônimo para Open Data Base Connectivity) , que não é na verdade um formato

de arquivo, é um padrão para acesso a sistemas gerenciadores de bancos de dados. Este

padrão define um conjunto de interfaces que permitem o uso de linguagens de

programação como Visual Basic, Delphi, Visual C++, entre outras capazes de utilizar estas

interfaces, para ter acesso a uma vasta gama de bases de dados distintas sem a

necessidade de codificar métodos de acesso especializados.

Page 41: Material Didatico - Curso SCADA

O ODBC possui uma implementação específica da linguagem SQL (os querys de pesquisa

de dados) com a qual a aplicação pode se comunicar com a base de dados de forma

transparente, permitindo, por exemplo, que um mesmo programa possa utilizar

simultaneamente diferentes sistemas de gerenciamento de banco de dados (SGBD ou

DBMS) como o MySQL, o Access, o SQL Server ou até mesmo o Excel, sem a

necessidade de mudanças no código fonte. O reistro de dados em fontes ODBC também

dá versatilidade ao banco de dados pois esse pode ser acessado por diversas aplicações

que realizem querys. Por ser um padrão mais difundido e poderoso as explicações sobre

registro de dados se aterão a esse formato.

O formato dBase IV é mais fácil de configurar, e tem quase todas as opções iguais

às opções de registro de alarmes já vista (alarm log são armazenados no formato

dBase IV). O interessado deve conferir por si só, consultando se necessário a

documentação, como se dá a configuração.

Para configuração de registro em ODBC deve-se escolher o formato ODBC e clicar no

botão (...) ao lado do campo ODBC Data Source. Deve-se criar um novo arquivo de fonte

de dados (arquivo.dsn) esse arquivo conterá informações sobre a configuração da fonte de

dados ODBC. Clique em new, selecione fonte de dados de arquivo (as outras opções

geram restrições da fonte de dados para outros usuários ou outras maquinas), e selecione

o driver do sistema de gerenciamento de banco de dados. Os drivers são arquivos de

extensão que conferem o interfaciamento entre aplicações mediante o padrão ODBC.

Normalmente utiliza-se como gerenciador de base de dados o Microsoft Acces ou

soluções gratuitas como o MySQL. Deve-se escolher o driver especifico para o SGDB a

ser utilizado. Depois deve-se salvar o arquivo de fonte de dados (.dsn) que contem tais

configurações. Digite o caminho e o nome do arquivo ou clique em procurar e defina o

nome e o caminho do arquivo.dsn. clique em concluir e será aberta a tela de configuração

do driver (para cada driver uma janela diferente, deve-se consultar a documentação de

cada driver) no caso do driver do MS Access clique em Criar... selecione um local para

salvar o arquivo .mdb (arquivo do access) e um nome

Criado o arquivo de fonte de dados (.dsn) escolha o arquivo criado na lista e dê OK.

Em seguida crie as tabelas, TAG FLOAT e STRING. (create tables)

Na tag table – são registrados o índice de cada tag, o nome e o tipo da tag, e o

tamanho do dado (long, float ou string)

Na FloatTable são registrados a data e hora da amostra, os milisegundos que

comprelementam a hora da amostra, o valor da amostra e o status da tag (valid,

error, disabled, stale, unitialized), ambas relacionadas ao índice de cada tag (tags

analógicas e digitais apenas).

Page 42: Material Didatico - Curso SCADA

Na StringTable as mesmas informações que existem na Float Table são também

disponibilizadas, com a diferença que o valor da amostra é uma String)

O campo description é opcional, o campo log file identifier String e a opção use long file names não são suportados em registro em ODBC pois não são criados vários arquivos.

Na aba Paths (configurando model ODBC) pode-se adicionar um caminho de backup ODBC, caso o caminho primário não esteja acessível (por exemplo se o caminho primário for um arquivo em rede (remoto e não local). Para isso marque enable ODBC backup path e escolha o caminho da base de dados ou escolha a opção de caminho relativo ao projeto (logging path relative to Project).

Na aba File Management é possível configure se desejar a exclusão automática das entradas mais antigas (purge oldest records), marcando after maximum time e escolhendo o tempo Maximo de permanência da entrada no banco de dados. Repare que é diferente dos formatos dBase IV que deletam arquivos de registro antigos. Aqui se deletam as ENTRADAS antigas.

Agora clique em OK e salve o arquivo de model (arquivo.mdf)

Pode-se editar o model clicando 2 vezes no seu nome na lista, ou pode-se criar outros models. Para iniciar o registro de dados de um model utilize o comando DataLogOn <nome do model> e para desligar o registro de dados de um model utilize o comando DataLogOff <nome do model> ou DataLogOff * para desligar todos os registros de dados.

Outros comandos de registros de dados:

DataLogSnapshot <nome do model> - pode ser utilizado em qualquer model, porem é mais comum em models com disparo On Demand. Lembre que para o registro ocorrer o arquivo de model deve estar rodando, ou seja, deve-se requisitar o comando DataLogOn <nome do model> antes de requisitar o comando DataLogSnapshot.

DataLogChangeRate <nome do model> <valor da taxa> <unidade de medida> - altera o valor do período de amostragem caso o model seja de disparo periódico. Utilize para as unidades de medida: hundredths, tenths, seconds, minutes, hours ou days

DataLogSwitchBack <nome do model> quando ocorre uma falha, que o arquivo de armazenamento de dados não está acessível por algum motivo, e se for habilitado o uso de backup path, o registro de dados é feito na base de dados de backup. Pode-se tentar voltar a registrar na base de dados primaria com o comando DataLogSwitchBack. Caso

Page 43: Material Didatico - Curso SCADA

não obtenha sucesso (o locar primário ainda está inacessível) o registro continuará sendo realizado no local secundário.

Também pode-se configurar o Switchback automático, para isso edite novamente o arquivo model, va na aba paths e clique em advanced...

Switchback – configure um período em minutos para tentar o Switchback automatico para o local primário.

Switchover – é possível armazenar em memória (ao invez de em um arquivo de disco secundário) uma certa quantidade de dados antes de trocar do local primário para o local secundário (switchover). Nesse campo configure a quantidade de dados que podem ser armazenados em memoria antes de ocorrer o switch over. A quantidade de dados é medida em minutos de amostras.

DataLogMergeToPrimary – quando se consegue executar o switchback deve-se fundir o conteúdo registrado no local secundário ao local primário, completando a lacuna de dados que ficou no local primário. O Comando DataLogMergeToPrimary faz isso, e ainda faz o SwitchBack. Esse comando pode ser utilizado a qualquer hora, esteja o model sendo executado ou não.

GRAFICOS HISTORICOS:

Gráficos de tendências podem usar fontes de dados como os models, para visualizar dados históricos. Para isso ao editar um Trend, na seção Data Source, escolha uma das opções de fonte de dados histórica ou invés de tempo real (real time). as opções são:

Histórical, oldest file, newest file, choose file. Porem fontes de dados ODBC não diferenciam os registros em arquivos, assim deve-se escolher Historical.

Escolha o model que contem a base de dados que deseja acessar os dados (o model pode ser local ou remoto, isso é, pode estar em outra maquina ou pertencer a outro projeto RSView diferente nessa mesma maquina.

Escolhido o model que fornecerá dados ao gráfico, va na aba pen configuration. Perceba que apenas as tags associadas ao model escolhido estão disponíveis.

Também há a opção de visualizar um tempo relativo na escala do eixo do tempo (aba trend configurarion, time axis, Relative Time). marcando essa opção será visualizado na escala do eixo X a diferença de tempo desde o primeiro dado registrado e o dado exibido.(ou seja se for visualizado o numero 2 na escala em determinado ponto, significa que aquela amostra foi retirada 2 horas depois da primeira amostra registrada).

Page 44: Material Didatico - Curso SCADA

O registro de atividades (activity log): o registro de atividade registra informações sobre o sistema, como o uso de comandos e macros pelo usuário, mensagens de alerta e erro relacionadas a aplicação, mensagens de erro de comunicação, leitura e escrita de valores de tags, etc... o registro de atividades serve para monitorar posteriormente o comportamento dos operadores, diagnosticar e identificar falhas.

A barra de atividades (activity bar), localizada no canto inferior da tela, tambem exibe informações sobre o sistema. As mensagens de atividade que serão exibidas na barra de atividades devem ser configuradas no acitivity log setup.

O Activity Log Setup: aqui se definem as opções de registro de atividades. Na primeira aba temos o caminho primário (o arquivo de registro de atividades é salvo no formato dBase IV .dbf). o caminho da impressora (caso deseje-se fazer registro na impressora). As opções use RSView326.0 log file format (usar o formato antigo, apenas para compatibilidade), use long file names (usar nomes longos de arquivo).

Na segunda aba de file management, temos tudo igual à como era no registro de alarme (afinal estes usam o mesmo formato dBase IV)

Na terceira aba de Categories, vemos uma lista de categorias de mensagens a serem registadas. As possíveis categorias de mensagens de atividades são:

Sobre comandos

Sobre a aplicação RSView e suas ferramentas (como ferramenta de login, etc...)

Sobre comunicação

Sobre as operações de escrita e leitura de valores das tags.

Remarks – que são comentários do usuário, iseridos usando o comando Remark <texto>

(as categorias custom 1,2,3 e 4 são definidos pelo usuário e podem ser utilizados com rotinas VBA)

Veja que para cada categoria ainda existem 3 tipos de mensagem (de erro, de aviso – warning - , e de informação)

Para cada categoria e cada tipo de mensagem pode-se escolher se e aonde a mensagem será registrada. As mensagens podem ser exibidas na barra de atividades (activity bar), podem ser registradas em arquivo (log file), registradas em impressão (printer), ou enviadas para base de dados de um software de diagnostico da rockwell chamado Factory Talk ( o conteúdo desse software não será abordado nesse curso, portanto essa opção deve ser mantida desmarcada).

É comum registrar apenas mensagens de erro e alerta na barra de atividades, para não tirar a atenção do operador durante a operação da planta (devido a quantidade de mensagens de informações sendo exibidas).

Page 45: Material Didatico - Curso SCADA

Os arquivos de registro de atividades podem ser visualizados pelo símbolo activity log viewer, ou pelo comando ActivityViewer, arquivos de registro também podem ser vistos em programas com suporte dBase IV, como o excell por exemplo. Repare que, caso deseje visualizar os arquivos de registro (qualquer que seja, de alarme, dados ou atividades) com o excel (ou outro) durante a execução do sistema deve-se abrir os arquivos em modo de apenas leitura. Caso os arquivos sejam abertos em modo de leitura e escrita, o RSView não poderá realizar o registro nestes arquivos, até estes serem fechados.

Outros comandos uteis são:

ActivityOn activityOff – iniciam ou param o registro de atividades. Por padrão, ao se inicializar o projeto o registro de atividades está ligado.

ActivityPrintOn/Off – idem

ActivityBarOff/On – esconde e exibe a barra de atividades

EchoOff/On – desabilita/habilita o registro de mensagens da categoria comandos. Frequentemente utilizados como primeiro e ultimo comando de macros, assim registra-se apenas que a macro foi executada sem registrar cada comando contido na macro.

Mais configurações de StartUp

Placeholders em comandos:

Display screen$tagname$ se tagname = “BM”

O commando executado sera – Display screenBM

Page 46: Material Didatico - Curso SCADA

Botão de assinatura eletrônica ctrlX

adicionar tags de banco de dados de CLP, exportar e editar os arquivos .csv

parametros, derived tags, events, global e local Keys, VBA