Você está na página 1de 121

Nº Doc.

: 0682-227
Rev.: 01
Data: 01/08/2002

Treinamento iFIX

Teoria e Prática
Teoria e Prática

Treinamento iFIX

Nº Doc.: 0682-227
Rev.: 01
Data: 01/08/2002

ATAN Nome Assinatura Data

Luciana C. Fernandes Rocha e David


Elaborado por 01/08/2002
Reis
Verificado por Luciana C. Fernandes 01/08/2002

Aprovado por Luciana C. Fernandes 01/08/2002


Nº Doc.: 0682-227
CONTROLE DE REVISÃO DE Rev.: 01
DOCUMENTOS
Página: 1/1

Nº de págs. ATAN
Rev. Natureza da Revisão Total Corpo Data
do doc. principal Elaborado Verificado Aprovado

00 Emissão Inicial 100 93 26/07/2002 Luciana C. Luciana C. Luciana C.


Fernandes Fernandes Fernandes
Rocha e David
Reis

01 Revisão 121 112 01/08/2002 Luciana C. Luciana C. Luciana C.


Fernandes Fernandes Fernandes
Rocha e David
Reis
Índice
1. VISÃO GERAL ................................................................................................................................. 1
1.1 Características Gerais ..............................................................................................................................................1
1.2 Perfil do Produto .....................................................................................................................................................1
1.3 Arquitetura Básica....................................................................................................................................................4
2. REQUISITOS DE HARDWARE, SOFTWARE E REDE PARA RODAR O IFIX .......................6
2.1 Requisitos Mínimos de Hardware...........................................................................................................................6
2.2 Requisitos de Software ..............................................................................................................................................6
2.3 Requisitos de Rede ..................................................................................................................................................6
3. LICENÇAS DISPONÍVEIS NA CHAVE ........................................................................................7
4. CONFIGURAÇÃO DO SISTEMA...................................................................................................8
4.1 Configuração de Caminhos....................................................................................................................................9
4.2 Configuração de Alarmes e Mensagens .............................................................................................................10
4.2.1 Considerações Importantes sobre Alarmes.......................................................................................................12
4.3 Configuração de Rede...........................................................................................................................................13
4.4 Configuração de Tarefas.......................................................................................................................................14
5. O AMBIENTE WORKSPACE ....................................................................................................... 16
5.1 Estruturando o Ambiente Workspace para Trabalhar .......................................................................................18
5.1.1 Criando um Diretório Específico para a Aplicação .........................................................................................18
5.1.2 Visualizando Barra de Ferramentas no Ambiente Workspace .........................................................................21
6. LABORATÓRIO 1 .......................................................................................................................... 25
7. ANIMAÇÃO DE OBJETOS...........................................................................................................26
7.1 Animação Utilizando Objetos Básicos...............................................................................................................27
7.1.1 Exemplos de Animação Utilizando Objetos Básicos ......................................................................................27
7.1.2 Animações Experts ...............................................................................................................................................33
8. CONFIGURANDO O AMBIENTE WORKSPACE ..................................................................... 37
9. LABORATÓRIO 2.......................................................................................................................... 39
10. DRIVERS DE COMUNICAÇÃO ..................................................................................................43
10.1 Configurando um Driver de Comunicação.......................................................................................................43
11. BLOCOS DE DADOS .................................................................................................................... 48
11.1 Bloco de Entrada Digital – DI ............................................................................................................................48
11.2 Bloco de Saída Digital - DO ................................................................................................................................51
11.3 Bloco de Entrada Analógica – AI .......................................................................................................................53
11.4 Bloco de Saída Analógica – AO ..........................................................................................................................57
11.5 Bloco de Cálculo – CA .........................................................................................................................................61
11.5.1 Operadores Possíveis para Trabalhar no Bloco de Cálculo............................................................................62
11.6 Bloco de Evento ....................................................................................................................................................63
12. LABORATÓRIO 3.......................................................................................................................... 64
13. TENDÊNCIA .................................................................................................................................68
13.1 Tendência Real .......................................................................................................................................................68
13.2 Tendência Histórica ..............................................................................................................................................69
13.2.1 Arquitetura Geral...................................................................................................................................................70
13.2.2 Passos para Criação de uma Tendência Histórica ............................................................................................71
14. SCHEDULER................................................................................................................................. 75
14.1 Inserindo um Scheduler na Aplicação...................................................................................................................77
0682-227 (Rev.: 01) I
14.2 Para Rodar um Scheduler ........................................................................................................................................79
15. LABORATÓRIO 4.......................................................................................................................... 82
16. TRABALHANDO COM VBA ........................................................................................................86
16.1 Aplicações do VBA ...............................................................................................................................................86
16.2 Conceitos Utilizados na Programação................................................................................................................86
16.3 Exemplos de Utilização do VBA ........................................................................................................................87
16.3.1 Set de Variável Digital para um Valor ................................................................................................................87
16.3.2 Abrindo uma Tela ou Janela ................................................................................................................................88
16.3.3 Script para Inicialização de um Objeto ..............................................................................................................89
16.3.4 Escrita em Variáveis da Base de Dados .............................................................................................................89
17. LABORATÓRIO 5.......................................................................................................................... 90
18. ALARMES E EVENTOS ............................................................................................................... 96
19. OBJETOS ACTIVEX...................................................................................................................... 99
19.1 Inserindo um Objeto ActiveX na Aplicação.....................................................................................................99
20. GRUPO DE TAGS........................................................................................................................ 100
20.1 Criando um Grupo de Tags para uma Animação .......................................................................................... 100
20.2 Animando Utilizando o Tag Group ................................................................................................................. 101
21. OPC 103
21.1 Conceitos Básicos sobre Cliente e Servidor ................................................................................................... 103
21.2 iFIX Trabalhando como Servidor OPC de Outras Aplicações .................................................................. 103
21.3 iFIX Trabalhando como Cliente OPC de Outras Aplicações..................................................................... 105
22. REDUNDÂNCIA ......................................................................................................................... 109
22.1 Configurações Necessárias nas Estações para Atender à Redundância..................................................... 109
22.2 Passos para Configurar a Redundância ........................................................................................................... 110

0682-227 (Rev.: 01) II


Figuras
Figura 1 .....................................................................................................................................................................2
Figura 2 .....................................................................................................................................................................2
Figura 3 .....................................................................................................................................................................3
Figura 4 .....................................................................................................................................................................3
Figura 5 .....................................................................................................................................................................3
Figura 6 .....................................................................................................................................................................4
Figura 7 .....................................................................................................................................................................7
Figura 8 .....................................................................................................................................................................8
Figura 9 .....................................................................................................................................................................9
Figura 10 .................................................................................................................................................................11
Figura 11 .................................................................................................................................................................12
Figura 12 .................................................................................................................................................................13
Figura 13 .................................................................................................................................................................14
Figura 14 .................................................................................................................................................................16
Figura 15 .................................................................................................................................................................19
Figura 16 .................................................................................................................................................................19
Figura 17 .................................................................................................................................................................20
Figura 18 .................................................................................................................................................................22
Figura 19 .................................................................................................................................................................24
Figura 20 .................................................................................................................................................................27
Figura 21 .................................................................................................................................................................27
Figura 22 .................................................................................................................................................................28
Figura 23 .................................................................................................................................................................29
Figura 24 .................................................................................................................................................................30
Figura 25 .................................................................................................................................................................31
Figura 26 .................................................................................................................................................................31
Figura 27 .................................................................................................................................................................32
Figura 28 .................................................................................................................................................................33
Figura 29 .................................................................................................................................................................34
Figura 30 .................................................................................................................................................................35
Figura 31 .................................................................................................................................................................35
Figura 32 .................................................................................................................................................................37
Figura 33 .................................................................................................................................................................37
Figura 34 .................................................................................................................................................................38
Figura 35 .................................................................................................................................................................38
Figura 36 .................................................................................................................................................................39
Figura 37 .................................................................................................................................................................40
Figura 38 .................................................................................................................................................................41
Figura 39 .................................................................................................................................................................41
Figura 40 .................................................................................................................................................................42
Figura 41 .................................................................................................................................................................43
Figura 42 .................................................................................................................................................................44
Figura 43 .................................................................................................................................................................44
Figura 44 .................................................................................................................................................................45
Figura 45 .................................................................................................................................................................46
Figura 46 .................................................................................................................................................................47

0682-227 (Rev.: 01) III


Figura 47 .................................................................................................................................................................48
Figura 48 .................................................................................................................................................................49
Figura 49 .................................................................................................................................................................50
Figura 50 .................................................................................................................................................................51
Figura 51 .................................................................................................................................................................52
Figura 52 .................................................................................................................................................................53
Figura 53 .................................................................................................................................................................54
Figura 54 .................................................................................................................................................................55
Figura 55 .................................................................................................................................................................55
Figura 56 .................................................................................................................................................................56
Figura 57 .................................................................................................................................................................57
Figura 58 .................................................................................................................................................................58
Figura 59 .................................................................................................................................................................59
Figura 60 .................................................................................................................................................................60
Figura 61 .................................................................................................................................................................61
Figura 62 .................................................................................................................................................................61
Figura 63 .................................................................................................................................................................62
Figura 64 .................................................................................................................................................................63
Figura 65 .................................................................................................................................................................63
Figura 66 .................................................................................................................................................................65
Figura 67 .................................................................................................................................................................66
Figura 68 .................................................................................................................................................................68
Figura 69 .................................................................................................................................................................68
Figura 70 .................................................................................................................................................................69
Figura 71 .................................................................................................................................................................70
Figura 72 .................................................................................................................................................................71
Figura 73 .................................................................................................................................................................72
Figura 74 .................................................................................................................................................................73
Figura 75 .................................................................................................................................................................73
Figura 76 .................................................................................................................................................................74
Figura 77 .................................................................................................................................................................76
Figura 78 .................................................................................................................................................................78
Figura 79 .................................................................................................................................................................79
Figura 80 .................................................................................................................................................................80
Figura 81 .................................................................................................................................................................80
Figura 82 .................................................................................................................................................................81
Figura 83 .................................................................................................................................................................83
Figura 84 .................................................................................................................................................................84
Figura 85 .................................................................................................................................................................85
Figura 86 .................................................................................................................................................................87
Figura 87 .................................................................................................................................................................89
Figura 88 .................................................................................................................................................................91
Figura 89 .................................................................................................................................................................93
Figura 90 .................................................................................................................................................................95
Figura 91 .................................................................................................................................................................96
Figura 92 .................................................................................................................................................................97
Figura 93 .................................................................................................................................................................97
Figura 94 .................................................................................................................................................................97
Figura 95 .................................................................................................................................................................99
Figura 96 ...............................................................................................................................................................100
Figura 97 ...............................................................................................................................................................100
Figura 98 ...............................................................................................................................................................101

0682-227 (Rev.: 01) IV


Figura 99 ...............................................................................................................................................................102
Figura 100.............................................................................................................................................................103
Figura 101.............................................................................................................................................................104
Figura 102.............................................................................................................................................................105
Figura 103.............................................................................................................................................................106
Figura 104.............................................................................................................................................................107
Figura 105.............................................................................................................................................................108
Figura 106.............................................................................................................................................................109
Figura 107.............................................................................................................................................................110
Figura 108.............................................................................................................................................................110
Figura 109.............................................................................................................................................................111

0682-227 (Rev.: 01) V


Tabelas
Tabela 1...................................................................................................................................................................10
Tabela 2...................................................................................................................................................................11
Tabela 3...................................................................................................................................................................15
Tabela 4...................................................................................................................................................................26
Tabela 5...................................................................................................................................................................34
Tabela 6...................................................................................................................................................................54
Tabela 7...................................................................................................................................................................62
Tabela 8...................................................................................................................................................................64

0682-227 (Rev.: 01) VI


1. VISÃO GERAL
1.1 Características Gerais
Software Supervisório destinado à Automação Industrial, permitindo uma interface
adequada de operação para o usuário, enfocando duas características básicas:
ƒ Aquisição de dados:
• Comunicação direta com dispositivos I/O na planta.
• Interface com dispositivos de hardware via drivers I/O.

ƒ Gerenciamento dos dados:


Habilidade de processar e manipular dados adquiridos.
O gerenciamento dos dados é composto de vários itens, incluindo:
• Monitoramento do processo via tela gráfica
• Controle supervisório.
• Alarme.
• Relatório.
• Armazenamento de dados.

1.2 Perfil do Produto


Neste item abordaremos a filosofia de aquisição e tratamento de dados pelos nós,
caracterizando-os segundo o tipo e segundo a configuração:
Tipos de nós:
ƒ O nó que adquire dados do hardware do processo é chamado SCADA cujas
funcionalidades são encontradas nos pacotes iFIX HMI Pack ou iFIX Scada Server.

Funcionalidades:
• SCADA – Supervisory Control And Data Acquisition.
• Comunica-se com o hardware do processo através do driver de I/O.
• Carrega e gerencia a base de dados do processo.

0682-227 (Rev.: 01) 1


Arquitetura utilizando funcionalidades SCADA:

Figura 1

Figura 2

ƒ O nó iClient cujas funcionalidades podem ser encontradas nos pacotes iFIX Client,
iFIX Client Read Only, iClient TS.
Funcionalidades:
• O iclient recebe dados do servidor SCADA via rede.
• Um iclient também pode executar outras aplicações.
• Este nó também é chamado de vista.
• O iClient é referenciado nas literaturas como HMI (Human Machine Interface).

0682-227 (Rev.: 01) 2


Arquitetura utilizando funcionalidades iClient:
ƒ iFIX Client

Figura 3

ƒ iFIX Client Read Only

Figura 4
ƒ iFIX Client TS

Figura 5

0682-227 (Rev.: 01) 3


1.3 Arquitetura Básica

0682-227-002/00
Figura 6

ƒ A – Drivers I/O:
• O iFIX comunica com o CLP através de um driver I/O.
• Cada driver I/O suporta a comunicação com um fabricante específico.
• O driver I/O possui as seguintes funções:
− Leitura e escrita de dispositivos de I/O.
− Transferência de dados leitura/escrita para a DIT(tabela imagem de dados).

ƒ B – DIT – Tabela Imagem do Driver.


É importante lembrar que a tabela imagem de dados é composta de poll records. Estes
são denominados registros que podem conter um simples ponto ou um conjunto de
pontos de comunicação. Geralmente um poll record tem um mesmo tipo de dado.
Cada poll record é atualizado pelos drivers na DIT com uma taxa.
ƒ C – SAC – Scan (varredura), Alarm and Control possui a função de:
• Escrita/leitura na tabela imagem de dados(DIT).
• Escrita/leitura na base de dados do processo (PDB).

0682-227 (Rev.: 01) 4


ƒ D – PDB – Base de Dados do Processo.

A base de dados do processo é composta de tags e é identificada da seguinte forma:

Sintaxe:
SERVER.NODE.TAG.FIELD
Onde:
SERVER:
Nome do servidor de dados OPC.O nome default utilizado na representação da base de
dados é Fix32. O servvidor OPC do iFIX é disponibilizado a sistemas externos com o
nome Intellution.OPCEDA.
NODE:
Nome do nó SCADA onde fica a base de dados.
TAG:
Nome do Tag na base de dados.
FIELD:
campo específico do bloco do tag.

Exemplo:
Mostrar o valor atual (F_CV) do bloco Analogica_1, residente na PDB do nó SCADA1,
que é disponibilizado pelo servidor OPC FIX32.

Como Ficaria:
FIX32.SCADA1.Analogica_1.F_CV
É importante observar que por filosofia, os dados mostrados localmente no nó
SCADA1 ou a partir de um nó remoto usa o mesmo nome fonte dos dados.
Em caso de dúvida consulte a Figura 6.
É importante observar que Fix32 é servidor OPC nativo, visto internamente à
arquitetura do iFIX.

0682-227 (Rev.: 01) 5


2. REQUISITOS DE HARDWARE, SOFTWARE E REDE PARA
RODAR O IFIX
2.1 Requisitos Mínimos de Hardware
ƒ Computador Pentium, com clock no mínimo 266 MHz.
ƒ Memória:
• 96 MB RAM.
• 120 MB de espaço livre no HD.

ƒ Monitor com resolução de no mínimo 800x600 e 65535 cores.


ƒ Portas
• Serial para acesso a driver I/O.
• Paralela para conexão da chave de hardware.

2.2 Requisitos de Software


ƒ Windows NT 4.0 ou Windows 2000. É importante mencionar que Windows 95 e
Windows 98 não são compatíveis.
ƒ Service Pack 5 ou superior.
ƒ As redes possíveis são NetBIOS ou TCP/IP.
ƒ Drivers de Vídeo: foram relatados problemas com alguns tipos de drivers de vídeo.
Estes problemas foram detectados tanto nas aplicações de iFIX, como em outras
aplicações.

2.3 Requisitos de Rede


O acesso à rede é opcional e os nós que não estão em rede são denominados “stand
alone”.
É recomendável a utilização do cartão de rede Ethernet 3COM.
Utilizando NetBIOS, o iFIX suporta o protocolo NetBEUI ou permite a utilização do
TCP/IP.
No caso de utilização do TCP/IP, devemos observar os seguintes detalhes:
ƒ Antes de instalar o iFIX, configurar os endereços IP com o nome dos nós (utilizar
arquivo HOSTS, presente em C:\WINNT\system32\drivers\etc)
ƒ Habilitar o protocolo TCP/IP no SCU.

0682-227 (Rev.: 01) 6


3. LICENÇAS DISPONÍVEIS NA CHAVE
Para verificar os componentes que estão habilitados na chave de hardware, basta rodar o
executável contido no caminho indicado:
C:\Dynamics\KEYDIAG.exe.

Para rodar este comando utilize o prompt do MS-DOS.


Veja uma janela gerado por este comando, de exemplo:

Figura 7

0682-227 (Rev.: 01) 7


4. CONFIGURAÇÃO DO SISTEMA
Quando o iFIX é iniciado, este busca um arquivo contendo as informações para serem
carregadas localmente na máquina. Este arquivo contém informações sobre programas e
configurações específicas da estação em questão. Este item traz a abordagem dos
detalhes de configuração. Isto é feito utilizando o utilitário SCU – System Configuration
Utility.
Em linhas gerais o SCU permite:
ƒ Configuração de caminhos.
ƒ Configuração de alarmes e mensagens.
ƒ Configuração de rede.
ƒ Configuração de tarefas.

Figura 8

Conforme mostrado na Figura 8, vemos as tarefas do utilitário de configuração de


sistema, numeradas para facilitar o entendimento:
1. Path Configuration:
Configuração dos diretórios relativos à aplicação.
2. Alarm Configuration:
Habilitação das tarefas de alarme.
3. Network Configuration:
Configuração geral de rede, tipos de protocolo, configuração de nós.
4. SCADA Configuration:
Habilitar suporte SCADA, definir nome da base de dados, definir drivers para serem
utilizados.

0682-227 (Rev.: 01) 8


5. Task Configuration:
Configuração de tarefas para serem chamadas pelo supervisório.
6. Security Configuration:
Configuração de níveis de segurança de usuários.
7. SQL Accounts:
Configuração de contas de usuários para acesso a banco de dados.
8. Alarm Area Configuration:
Configuração das áreas de alarmes, para criação de filtros de alarme por área.

4.1 Configuração de Caminhos


A configuração de caminhos (path configuration) especifica os nomes dos
diretórios a serem utilizados pelo iFIX /Aplicação.
Devemos atentar, no entanto, para o impacto da alteração dos caminhos:
ƒ O SCU criará automaticamente os novos diretórios.
ƒ Os arquivos antigos relativos ao ambiente workspace instalado de forma default NÃO
são copiados automaticamente para o novo diretório.

Para acessar a janela de configuração de caminhos basta clicar no ícone 1, mostrado


conforme Figura 8 e então teremos:

Figura 9

0682-227 (Rev.: 01) 9


Onde:

Caminho Usado para


Base Armazena todos os arquivos executáveis utilizados pelo iFIX.
Local Arquivos de configuração para a estação local. Arquivos de SCU e arquivos
de segurança.
Database Arquivos de configuração de base de dados e arquivos de configuração de
I/O
Language Arquivo de configuração de linguagem utilizado para todo o ambiente.
Picture Todos os arquivos associados a telas, janelas, etc.
Application Arquivos de dados e configuração de aplicações criadas pelo usuário para
acesso à base de dados.
Historical Arquivos contendo a configuração feita para dados históricos.
Historical Data Arquivos contendo os dados históricos.
Alarms Arquivos contendo dados de alarme. A cada dia um novo arquivo é criado.
Mater Recipe Arquivos de receitas principais e também são encontrados arquivos contendo
informações de erro logadas pelo iFIX.
Control Recipe Arquivos contendo receitas de controle e também são encontrados arquivos
contendo informações de erro logadas durante as operações de download e
upload das receitas configuradas.
Alarm Areas Localização da base de dados das áreas de alarme.

Tabela 1

4.2 Configuração de Alarmes e Mensagens


A configuração de alarmes habilita/desabilita as funções de alarme para o nó de
configuração local.
As funções de alarme possíveis são:
ƒ Habilitar ou desabilitar, individualmente, as tarefas de alarme.
ƒ Configurar a distribuição dos alarmes e mensagens em rede.
ƒ Configuração geral das mensagens e tipos de informação (Date, time, description, alarm
type, etc) a serem enviados via rede.
ƒ Habilitar o envio de alarmes para banco de dados relacionais via ODBC.

0682-227 (Rev.: 01) 10


Para acessar a janela de configuração de caminhos basta clicar no ícone 2, mostrado
conforme Figura 8 e então teremos:

Figura 10

Tarefa de Alarme Função


Alarm Printers Alarmes e mensagens para impressora
Alarm Summary Habilita o objeto de sumário de alarmes.
Service
Alarm File Service Mensagem gerada para o arquivo de alarme. O arquivo é salvo com o
nome YYMMDD.ALM e constitui um arquivo texto.
Alarm History Mostra alarmes e mensagens em tempo real
Alarm ODBC Service Envia dados para uma fonte de dados previamente configurada no
Control Panel da máquina.
Alarm Network Envia e recebe alarmes pela rede
Service
Alarm Startup Queue Atualiza alarmes e mensagens ocorridos em um nó SCADA, quando o
Service nó vista á iniciado, sendo a data da ocorrência no período anterior ao
definido pelo usuário em fase de configuração.

Tabela 2

0682-227 (Rev.: 01) 11


4.2.1 Considerações Importantes sobre Alarmes
Para configurar alarme para uma variável, basta editar normalmente a base de dados e
então configurar a guia de Alarms na caixa de configuração da variável:

Figura 11

Conforme mostrado na Figura 11, para alguns tipos de bloco é possível gerar
alarmes(Enable Alarming) e/ou eventos(Enable Event Messaging).
O arquivo que guarda a configuração feita para as variáveis que possuem alarme é
armazenado em \PDB com a extensão *.AAD armazenando-as por área de alarme em
ordem alfabética.
É importante lembrar que a base de dados só pode ser editada, de forma default, a partir
de um nó SCADA.
Em caso da necessidade de utilização de arquivos de som para gerar alarme, basta
colocar o arquivo wav dentro do diretório c:\Dynamics\App.

0682-227 (Rev.: 01) 12


4.3 Configuração de Rede
Para acessar a janela de configuração de rede, bastar clicar no botão referente ao ícone 3
do SCU, conforme indicada na Figura 8.

Figura 12

A configuração de rede permite o estabelecimento da comunicação entre estações iFIX.


Os nós que não tiverem esta configuração são definidos como Stand alone
Confome ilustrado na Figura 12, podemos definir os campos:
ƒ Network:
Configura o tipo de suporte a rede a ser utilizado
ƒ Remote Nodes:
Define os nomes dos Servidores Scada e seus backup (redundância), configurados via
botão Configure.

Os nós aqui definidos são nós lógicos. Desta forma é associado o nó lógico ao nó físico
(principal e redundante), permitindo disponibilizar o nó lógico na base de dados para
trabalharmos as animações. Com as animações referentes ao nó lógico, todas as estações
presentes na arquitetura, inclusive estações vista, compartilharão a base de dados da
servidora.
ƒ Dynamic Connections:
Permite a conexão automática para um nó não configurado no item remote nodes,
devido à solicitação de um objeto.
ƒ Advanced Configuration:
Configuração para habilitar a redundância.

0682-227 (Rev.: 01) 13


4.4 Configuração de Tarefas
Para acessar a janela de configuração de tarefas, bastar clicar no botão referente ao ícone
5 do SCU, conforme indicada na Figura 8.

Figura 13

A configuração de tarefas é utilizada para definir os programas que serão executados


automaticamente com a partida do iFIX.
Pode ser chamado qualquer arquivo executável.
Para cada tarefa configurada, podemos selecionar a opção desta ser executada em modo
minimizado, normal ou em background.
Quando a tarefa é utilizada em modo background, esta inicia como uma tarefa de fundo.
Esta opção permite executar uma tarefa como um serviço do iFIX, e também é possível
habilitar o iFIX como um serviço do Windows NT, bastando acessar o menu
Configure\Local Startup no ambiente SCU.
Na opção linha de comando (Command Line) é possível adicionar um argumento para
modificar o modo de execução da tarefa.

0682-227 (Rev.: 01) 14


Veja na Tabela 3 a opção de parâmetros para a tarefa SAC e IOCNTRL.

Task Argumento Parâmetro Adicional Descrição


SAC(Scan, S Sincroniza o relógio do sistema
Alarm,
Control) D segundos Atrasa a partida do SAC por um
número determinado de
segundos.
Q tamanho Configura o número de alarmes
em fila para o programa Alarm
Queue Status.
IOCNTRL /A Inicia todos os drivers
/S xxx Inicia um determinado driver
(onde xxx com 3 letras é o
código do driver)

Tabela 3

Exemplos de Command Line


ƒ * C:\Dynamics\ALMHIS.EXE ->
A tarefa de alarme histórico irá partir minimizada(*)
ƒ % C:\DYNAMICS\WSACTASK.EXE D 5 ->
A tarefa será iniciada em background (%) sendo o seu start atrasada de 5 segundos do
iFIX.
ƒ C:\DYNAMICS\WORKSPACE.EXE ->
A tarefa Workspace irá rodar em modo normal, sem parâmetro adicional.
ƒ C:\DYNAMICS\IOCNTRL.EXE /SABH ->
Inicia o driver ABH

Observação:
Os drivers da versão 7.x ou superior dão Start automático com o servidor OPC nativo, não
sendo necessária nenhuma linha de comando para tal.

0682-227 (Rev.: 01) 15


5. O AMBIENTE WORKSPACE

Figura 14

0682-227 (Rev.: 01) 16


O Workspace é um ambiente de desenvolvimento, representando o projeto sob forma
de árvore. Para acessá-lo basta clicar em
Start\iFIX\Intellution Dynamics\Workspace.
Neste ambiente podemos visualizar todas as ferramentas básicas para desenvolvimento
da aplicação, tais como:
ƒ Alarm History:
Histórico de alarmes
ƒ Database Manager:
Base de dados
ƒ Documents:
Links de chamada para Word e Excel de dentro da própria aplicação.
ƒ Dynamo Sets:
Objetos previamente animados. Servem como biblioteca de animação.
ƒ Fix Recipes:
Receitas para passagem de parâmetros.
ƒ Globals:
Área disponível para definição de variáveis globais que poderão ser utilizadas nos
scripts. As variáveis aqui definidas podem ser vistas pelo compilador em qualquer
parte dos scripts, sem a necessidade de serem declaradas localmente nestes.
ƒ Help &Information:
Contém arquivos de help diversos.
ƒ I/O Drivers:
Aqui estarão listados todos os drivers instalados e selecionados na configuração SCU
(utilitário de configuração de sistema) feita para a aplicação. Mais tarde,
abordaremos o SCU com mais detalhes, mas por enquanto já nos atende saber que
se trata de um módulo do iFIX que busca um arquivo na máquina para determinar a
configuração local. Este arquivo contém informações sobre os programas e opções
específicas para o nó local. Basicamente podemos dizer que são configurados no
SCU:
• Caminhos.
• Alarmes e mensagens.
• Rede.
• Tarefas que rodam junto com a aplicação. Neste item é possível, inclusive,
configurar um executável externo para ser chamado pela aplicação.

Dentro da pasta I/O drivers também podemos encontrar um objeto denominado Mission
Control (Missão de Controle) que se trata de uma controle de parâmetros de algumas
tarefas podendo ser útil em desenvolvimento/runtime. Um exemplo de aplicação é para
uma boa análise da estrutura de comunicação associada a um driver.
ƒ Pictures:
Aqui são visualizadas as telas e janelas utilizadas na aplicação.
ƒ Reports:
Visualização dos objetos configurados para relatório.

0682-227 (Rev.: 01) 17


ƒ Schedules:
Permite a criação de objetos para controle de ações baseadas em tempo e em
evento.
ƒ Security:
Objetos que permitem a configuração de níveis de acessos dos usuários à aplicação.
ƒ System Configuration:
Chamada do SCU de dentro da própria aplicação.

5.1 Estruturando o Ambiente Workspace para Trabalhar


Para tornar o ambiente de trabalho mais produtivo, vamos dar enfoque a duas linhas
importantes:
ƒ Criando um diretório específico para armazenar a aplicação
ƒ Visualizando as barras de ferramenta que dão mais facilidade e conseqüentemente
produtividade ao desenvolvimento.

5.1.1 Criando um Diretório Específico para a Aplicação


Este item traz a abordagem da criação de um diretório específico para a aplicação,
separada do diretório de instalação do iFIX. Este tipo de procedimento traz vantagens
de organização e possibilidade de reinstalação do iFIX, em caso de necessidade, sem
nenhum dano aos arquivos da aplicação.
Uma vez instalado o iFIX, este criará de forma default uma estruturação de diretórios em
c:\Dynamics.
Para criar um diretório específico para a aplicação, devemos seguir os seguintes passos:
ƒ Ir em Start\Programs\iFIX\System Configuration.
ƒ Ir no menu File >> New.
ƒ Ir no menu Configure e habilitar Scada Support. Este procedimento irá possibilitar
adicionar o(s) driver(s) de comunicação, definir o arquivo de extensão pdb utilizado
para base de dados. Neste item selecione o driver a ser utilizado e nomeia o arquivo
de base de dados.
ƒ Ir no menu Configure\paths e alterar os diretórios para a nova aplicação. Todos os
diretórios devem ser mudados, exceto Base e Language. Estes últimos devem ser
mantidos conforme a instalação do iFIX. Veja como ficaria para um subdiretório
dentro de C:\Dynamics que abrigaria toda a aplicação:

0682-227 (Rev.: 01) 18


Figura 15

A consequência mais importante do procedimento citado na Figura 15 é o fato de se ter


isolado em C:\DYNAMICS\NOVA APLIC o backup deste subdiretório e a
restauração deste em qualquer máquina que já possua a instalação default do iFIX
permitirá rodar a aplicação sem nenhum problema.
ƒ Salvar a configuração de sistema para esta aplicação indo em File\Save As.

Este procedimento cria um arquivo com extensão scu em C:\DYNAMICS\NOVA


APLIC\LOCAL.
Veja o ambiente do SCU com seus menus:

Figura 16

0682-227 (Rev.: 01) 19


ƒ Copiar os arquivos com extensão fxg do diretório C:\DYNAMICS\PIC para o
diretório C:\DYNAMICS\NOVA APLIC\PIC. Este procedimento permitirá
visualizarmos as barras de ferramenta default da instalação do iFIX no novo
ambiente que criamos para rodar a aplicação separadamente, conforme abordado no
item Error! Reference source not found..
ƒ Criar um ícone para a aplicação.
• Basta alterar a propriedade target do ícone, de forma que esta passe a conter o
nome do nó, nome da nova aplicação e nome do arquivo com extensão scu.

Figura 17

Conforme mostrado na Figura 17, o target passa a ser:


ƒ Rodando com chave de hardware:
• C:\Dynamics\Launch.exe /nFIX /sC:\Dynamics\Nova
aplic\LOCAL\FIX.SCU.

ƒ Rodando em modo DEMO:


• C:\Dynamics\Launch.exe /t /nFIX /sC:\Dynamics\Nova
aplic\LOCAL\FIX.SCU.

No caminho indicado acima, o nome do arquivo scu deve ser o mesmo que você salvou
para a configuração de sistema (SCU) criada para a Aplicação.

0682-227 (Rev.: 01) 20


5.1.2 Visualizando Barra de Ferramentas no Ambiente Workspace

5.1.2.1 Standard Toolbar


Para visualizarmos a barra de ferramenta Standard do Workspace, basta acessar dentro do
Ambiente Workspace o menu Workspace\Toolbars, com Workspace em destaque,
selecionar opção Standard Toolbar, conforme mostrado na Figura 18.

0682-227 (Rev.: 01) 21


Figura 18

0682-227 (Rev.: 01) 22


Esta barra de ferramentas permite entre outras opções, a possibilidade de criar:
ƒ Criar uma nova picture (tela ou janela).
ƒ Criar um novo Schedule (controle de ações e eventos, associados a um timer ou a um
trigger qualquer).
ƒ Criar um novo Dynamo Set.
ƒ Visualizar em tela inteira (full screen) para o desenvolvimento.
ƒ Visualizar o desenvolvimento em runtime.
ƒ Abrir o editor Visual Basic, para criação de scripts.
ƒ Trabalhar com Task Wizard (tarefas experts utilizadas para criação de animações
pré-prontas).

5.1.2.2 Toolbox
Para visualizarmos a barra de ferramenta Toolbox do Workspace, basta acessar dentro do
ambiente Workspace o menu Workspace\Toolbars, com picture em destaque, selecionar
opção Toolbox, conforme mostrado na Figura 19.

0682-227 (Rev.: 01) 23


Figura 19

0682-227 (Rev.: 01) 24


6. LABORATÓRIO 1
Segue um roteiro de atividades a serem desenvolvidas após termos trabalhado os itens
anteriores.
1. Instale o iFIX, mantendo a instalação default. Esta será em c:\Dynamics.
2. Execute o programa c:\Dynamics\KEYDIAG.exe e observe as características
liberadas para o tipo de chave que você está utilizando.
3. Crie os paths para uma nova aplicação, no ambiente SCU.
4. Configure o ambiente SCU, para criar um configuração Local.
5. Estruture as barras de ferramenta do ambiente Workspace que você precisará para
trabalhar.
6. Crie um ícone para chamada da aplicação.

0682-227 (Rev.: 01) 25


7. ANIMAÇÃO DE OBJETOS
Objeto do Toolbox Função

Time
Insere Hora:Minuto:Segundo
Date
Insere a data atual
Objetos Básicos
linha,elipse, etc.
Para estes objetos é possível a utilização de vários tipos de animação,
tais como preenchimento, mudança de acordo com o estado.
Text
Insere texto
Push Button
Insere um botão
OLE Object
Insere um objeto OLE, ou seja, este tipo de animação permite
ampliar as possibilidades de animações. Basta que o objeto OLE
esteja registrado na máquina para que possa ser inserido.
Datalink
Insere um objeto de animação que permite leitura e ou escrita de
dados.
Alarm Summary
Insere um sumário de alarme.

Variable
Insere uma variável para ser utilizada em animação, podendo ser esta
do tipo local ou global.
Timer
Insere um objeto que permite animação utilizando script, cujo trigger
é um horário de start.
Event
Objeto que permite a edição de script para controle de um evento,
associado a uma variável fonte.
De acordo com a mudança de estado da variável fonte, o script é
executado.
Chart
Insere um objeto gráfico, permite configurar a cor de fundo, inserir
penas, escalas associadas às penas, etc.

Bitmap
Insere um objeto gráfico. Admite as extensões de arquivos gráficos
mais utilizadas, tais como: bmp, jpg, pcx, msp.

Color
Abre a paleta de cores para definição da cor associado ao objeto.

Font
Permite configuração de fonte.

Tabela 4

0682-227 (Rev.: 01) 26


7.1 Animação Utilizando Objetos Básicos
Os objetos básicos de animação estão mostrados no item 7.
Para todos os objetos básicos é utilizada uma estrutura de animação padrão, variando as
paletas de possibilidades de acordo com os tipos de animação permitidas para cada tipo
de objeto, conforme mostrado:
ƒ Command Button.

Figura 20
ƒ Datalink

Figura 21

É importante observar que para cada tipo de objeto, as paletas de animação variam
possibilitando animar diversos tipos de efeitos de acordo com a estrutura do objeto.
Mostramos como exemplo, a estrutura de animação do Command Button e do
Datalink, porém vale reforçar que todos os outros objetos possíveis para animação
possuem paletas específicas.

7.1.1 Exemplos de Animação Utilizando Objetos Básicos

1. Push Button
a) Após ter inserido o objeto na tela que se deseja animar, clique com o botão direito
do mouse no objeto e após selecionar a opção Animation é possível configurar as
propriedades associadas a ele.

0682-227 (Rev.: 01) 27


• Na paleta Behavior podemos configurar o comportamento do objeto,alterando as
suas propriedades. Neste item iremos habilitar e desabilitar um botão segundo o
comportamento de uma variável de controle. Esta funcionalidade é bastante
utilizada no caso da necessidade da inibição de comandos por outras partes do
sistema.

Vamos utilizar a variável Fix32.FIX.A38BV104_LIGA.A_CV como variável de


controle para permitir habilitar ou desabilitar o comando do botão. A propriedade
Enable do objeto retorna a string TRUE ou FALSE. Veja como fica a animação:

Figura 22

b) Uma outra forma de se obter o mesmo resultado é alterar as propriedades do


botão via VBA (Visual Basic Application). Ou seja, vamos criar um script para o botão
sem ter que fazer a animação via o processo animation mostrado no item anterior.

Para criar um script para o objeto button, basta clicar com o botão direito do mouse no
objeto e selecionar a opção Edit Script. O código que reproduz o mesmo efeito do
animation é mostrado conforme Figura 23:

0682-227 (Rev.: 01) 28


Figura 23

É importante observar o ambiente de programação VBA para atentarmos a alguns itens


importantes:
ƒ O código está aplicado localmente à tela que contém o objeto em questão, no caso o
conteúdo está dentro do Project_Tela_Treinamento.
ƒ As propriedades do objeto são mostradas na janela

Properties – CommandButon1 (nome atribuído ao objeto). Devemos lembrar que


podemos alterar estas propriedades em tempo de execução da aplicação (Runtime),
bastando preparar o código para isto.

ƒ O código será executado no evento Click do botão, como podemos ver abaixo:
Private Sub CommandButton1_Click()
If Fix32.Fix.A38BV104_LIGA.A_CV = 0 Then
CommandButton1.Enabled = False
Else
CommandButton1.Enabled = True
End If
End Sub

0682-227 (Rev.: 01) 29


2. DataLink
a) Após ter inserido o objeto na tela que se deseja animar, clique com o botão direito
do mouse no objeto e após selecionar a opção Animation é possível configurar as
propriedades associadas a ele. O objeto datalink é utilizado para leitura/escrita de
variáveis.
ƒ Vamos ressaltar neste exemplo as paletas mais relevantes: Visibility, Text, Color,
Behavior.
• Visibility:
Permite visualizar ou não o objeto em tempo de execução, baseado no
comportamento de uma variável de controle (Configurada no Data Source).
Veja como ficaria a animação:

/
Figura 24

• Text:
permite alterar as propriedades do texto em tempo de execução. O texto é a
imagem do conteúdo da variável configurada no Data Source.

Veja como ficaria a animação:

0682-227 (Rev.: 01) 30


Figura 25

• Color:
Permite trocar a cor do texto em tempo de execução. Esta funcionalidade pode
ser aplicada à mudança de faixas de alarme de variáveis analógicas.

Veja como ficaria a animação:

Figura 26

0682-227 (Rev.: 01) 31


b) Uma outra forma de se obter o mesmo resultado é alterar as propriedades do
datalink via VBA (Visual Basic Application), ou seja, vamos criar um script para o
datalink sem fazer a animação via o processo Animation mostrado no item anterior.

Para criar um script para o objeto datalink, basta clicar com o botão direito do mouse no
objeto e selecionar a opção Edit Script. O código que reproduz o mesmo efeito do
Animation é mostrado conforme Figura 27:

Figura 27

7.1.1.1 Conclusões Sobre a Utilização da Ferramenta Animation e da


Utilização de VBA
Nos itens anteriores abordamos a utilização da ferramenta Animation e do VBA.
Conforme observamos, em muitos casos, podemos chegar a um mesmo resultado
utilizando a ferramenta Animation ou VBA Script, porém existem vantagens e
desvantagens de se utilizar cada uma delas em cada aplicação.
De forma geral, podemos observar que a o Animation traz as seguintes vantagens:
ƒ Atualização da animação toda vez que ocorre mudança na variável, já embutida na
estrutura da animação do objeto, independente de evento.

0682-227 (Rev.: 01) 32


ƒ Facilidade de configuração, pois as caixas de diálogo para animação são bastante
amigáveis.

Com outro enfoque podemos avaliar as vantagens da utilização de código VBA:


ƒ Toda a estrutura de animação do objeto concentrada em um único lugar.
ƒ Melhor visualização dos eventos que controlam o objeto.

Em linhas gerais podemos concluir que a utilização da ferramenta Animation deve ser
aplicada em casos em que se desejar obter efeitos nos objetos, toda vez que mudar o
valor da variável monitorada, pois o evento de atualização da animação do objeto com a
alteração da variável já está embutido na ferramenta.
A utilização do VBA Script deve ser recomendada no caso de aplicações que requeiram
resposta da animação a eventos específicos, tais como Mouse_Click, Mouse_up,
Mouse_down, Evento_DataChange, Key_Press.
Mais tarde, abordaremos com mais detalhes a utilização do VBA.

7.1.2 Animações Experts

Figura 28

Os experts de animação são ferramentas que possibilitam gerar o script de animação para
o objeto automaticamente, a partir de uma caixa de preenchimento amigável.

0682-227 (Rev.: 01) 33


Objeto do Toolbox Função
Foreground Color Expert

Fill Expert

Rotate Expert

Position Expert

Scale Expert

Visibility Expert

Generate Picture Expert

Open Picture Expert

Close Picture Expert

Replace Picture Expert

Refresh Rate Expert

Data Entry Expert

Tabela 5

7.1.2.1 Alguns Exemplos de Utilização da Ferramenta Expert


ƒ Open Picture Expert:
Este objeto de animação permite gerar o script, automaticamente, da abertura de uma
tela ou janela a partir de uma caixa de diálogo amigável. Para podermos aplicar a
ferramenta é necessário que tenhamos um objeto em tela, ao qual será aplicado este
script. Por exemplo, um botão. Veja:

Figura 29

0682-227 (Rev.: 01) 34


Após ter preenchido a caixa de diálogo mostrada na Figura 29, a ferramenta gera
automaticamente o script que podemos visualizar abaixo:

Figura 30

Como podemos visualizar, a sintaxe padrão para abertura de uma janela é:


OpenPicture [Picture as string], [Picture Alias as String], [Top Position], [Left
Position], [intErrorMode as Integer = 0].

ƒ Close Picture Expert:


Este objeto de animação permite gerar o script, automaticamente, na abertura de uma
tela ou janela, a partir de uma caixa de diálogo amigável. Para podermos aplicar a
ferramenta é necessário que tenhamos um objeto em tela, ao qual será aplicado este
script. Por exemplo um botão. Veja:

Figura 31

0682-227 (Rev.: 01) 35


Após ter preenchido a caixa de diálogo mostrada na Figura 31, a ferramenta gera
automaticamente o script mostrado abaixo:

Private Sub CommandButton3_Click()


'The Comments below have been added automatically.
'Any changes could cause adverse effects to the functionality
'of the Script Authoring Experts.
'WizardName=ClosePicture
'Property1=Analogica.grf
'Property2=False
'Property3=
'Property4=False
ClosePicture "Analogica.grf"
End Sub

Conforme podemos observar, a sintaxe a ser utilizada no fechamento de uma tela ou


janela é:
ClosePicture [Picture as String], [intErrorMode as Integer = 0].
Podemos observar também que a ferramenta experts traz algumas linhas comentadas no
código gerado. Caso o usuário queira deixar o código mais compacto, basta retirar estas
linhas e compilar novamente o programa.

0682-227 (Rev.: 01) 36


8. CONFIGURANDO O AMBIENTE WORKSPACE
Após ter feito uma abordagem da utilização das barras de ferramentas de animação para
o ambiente Workpace, vamos tratar agora o comportamento geral das configurações do
ambiente no contexto da aplicação.
O padrão de configurações do modo de execução e do modo configuração que será
carregado para a aplicação pode ser setado em Workspace\menu workspace\User
Preferences, conforme podemos ver abaixo:

Figura 32

ƒ Enviroment Protection:
Configura a proteção do ambiente, ou seja, permite configurar características a
serem adotadas em runtime desabilitando algumas características de acesso a tarefas
gerais tal como Ctrl ALT Del e outras:

Figura 33

0682-227 (Rev.: 01) 37


ƒ Background StartUp:
Permite adicionar tarefas que irão rodar em Background na partida do sistema.
Permite adicionar tarefas do tipo evs, ou seja controle de eventos feitos na tarefa
Schedule.

Figura 34

ƒ Startup Pictures:
Permite adicionar as telas que serão abertas na partida do sistema.

Figura 35

0682-227 (Rev.: 01) 38


9. LABORATÓRIO 2

Objetivo
Criar uma tela simples que utilize recursos do iFIX como Experts, animações, datalinks e
outros.
Crie uma tela de supervisão para uma analógica utilizando o driver de simulação. Essa
tela deverá possuir um datalink mostrando o valor atual da analógica e que permita ao
usuário alterar seu valor e um gráfico de tendência mostrando sua evolução com o
tempo. Além disso deverá ser criado um botão que só será visível quando o valor do
sinal analógico for maior que 80.
Sugestão de resposta:
ƒ Criar um bloco analógico no driver de simulação.
− Abra o Database Manager, selecione a opção Open Local Node.
− No menu Blocks selecione a opção Add.
− Na caixa de diálogo Select a Block Type, escolha AI – Analog Input
(Entrada Analógica). A seguinte caixa de diálogo aparece:

Figura 36

− Preencha o campo Tag Name como TESTE_ANA e o campo Description


como Analógica. Certifique-se de que esteja selecionado o driver de simulação
(SIM Simulation Driver). Na paleta Advanced, marque a opção Enable
Output para que o bloco possa ser escrito. Colocar TESTE_ANA on scan.
Clique em Save.
− Saia do Database Manager respondendo Yes quando for perguntado se é
desejado salvar a base de dados.

ƒ Criar uma tela de operação para o sinal analógico.


− Abra o WorkSpace, crie um novo picture e salve como lab 1.grf.

0682-227 (Rev.: 01) 39


− Crie um título para a tela. Clique no botão Text da barra de ferramentas,
clique na parte Superior da tela e digite OPERAÇÃO DE UMA
ANALÓGICA.
− Crie um campo para exibição e alteração do valor da analógica. Clique no
botão DataLink na barra de ferramentas e clique e arraste a seta do mouse
em qualquer lugar da tela para criar um Datalink. A seguinte caixa de diálogo é
exibida:

Figura 37

− Clique nos três pontos à direita do campo de entrada de dados Source. Na


janela que se abre, na paleta Fix Database selecione o Node Name FIX, o
Tag Name TESTE_ANA e o Field Name F_CV. Clique em OK. O
Campo Source da caixa de diálogo DataLink deve agora estar preenchido
com Fix32.FIX.TESTE_ANA.F_CV. No campo Data Entry selecione
In-Place para ativar a entrada de dados pelo DataLink. Clique em OK. Para
finalizar a configuração da animação do DataLink.

ƒ Criar um gráfico de tendência.


− Clique no botão Chart da barra de ferramentas e clique e arraste na tela para
criar o gráfico. Duplo-clique nele para exibir sua caixa de diálogo de
configuração. Selecione a paleta Chart.

0682-227 (Rev.: 01) 40


Figura 38

− Para a primeira pen da lista Pen List escreva a source


Fix32.FIX.TESTE_ANA.A_CV (é possível também clicar nos três pontos
ao lado para selecionar a Source no Expression Builder). Clique em OK
para finalizar a configuração do gráfico. Sua tela agora deve estar assim:

Figura 39

0682-227 (Rev.: 01) 41


ƒ Criar um botão que só visível somente quando o valor da analógica ultrapasse 80.
− Clique no botão Push Button na barra de ferramentas. Um botão é criado na
tela. Ajuste seu tamanho e posição com ele selecionado Clique no botão
Visibility Expert na barra de ferramentas. A seguinte caixa de diálogo é
exibida:

Figura 40

− Preencha a DataSource como Fix32.FIX.TESTE_ANA.F_CV, no campo


Condition selecione “<” e em Condition Value escreva 80. Isso significa
que o botão só será visível se TESTE_ANA.F_CV exceder 80.

Teste a tela criada. Coloque o WorkSpace em modo Run (Edit -> Swith to Run) e
escreva diferentes valores na analógica utilizando o DataLink. Veja como o gráfico
mostra os valores da variável no tempo e como o botão só fica visível quando o valor
excede 80. Bom trabalho!

0682-227 (Rev.: 01) 42


10. DRIVERS DE COMUNICAÇÃO
Drivers de comunicação são estruturas de software (programas) que permitem a
comunicação do iFIX com o hardware do processo, por exemplo PLC.
Conforme ilustrado na Figura 6, para que o servidor SCADA comunique com o hardware
do processo é necessário configurar pelo menos um driver de comunicação definido no
SCU\SCADA Configuration.Veja:

Figura 41
Para selecionar o Driver que se tornará ativo para o sistema clique na opção I/O Driver
Name e então teremos disponíveis a lista de drivers previamente instalados na máquina.
Feita a configuração do Driver; este estará disponível para ser selecionado no Database
para as variáveis a ele associadas.
O iFIX pode carregar até 8 drivers enquanto inicia.

10.1 Configurando um Driver de Comunicação


Não abordaremos neste item todas as considerações possíveis dos drivers de
comunicação, porém para efeitos didáticos trabalharemos como exemplo com a
configuração de um driver para o PLC GeFanuc, denominado Ge9.
Após instalado o driver através de seu setup, teremos disponível um aplicativo específico
de configuração, conforme ilustrado na Figura 42.

0682-227 (Rev.: 01) 43


Figura 42

Definições básicas:
ƒ Channel:
Caminho de comunicação entre o servidor SCADA e o hardware do processo (no
caso é a definição do canal entre o servidor SCADA e o PLC Ge em questão).

Figura 43

0682-227 (Rev.: 01) 44


ƒ Device:
Define um dispositivo individual de hardware permitindo configurar as características
específicas do dispositivo de hardware tais como endereço IP, time-out (tempo
aguardando resposta).

Figura 44

ƒ DataBlock:
Configuração dos blocos de dados que irão ser mapeados para comunicar através
daquele dispositivo e daquele canal.

Define-se bloco de dados como sendo um conjunto de variáveis a ser lida do hardware
do processo, definido um endereço inicial e um endereço final. A cada iniciativa de
comunicação é mapeada em memória no supervisório a imagem do conjunto de
variáveis.
A leitura por blocos otimiza bastante a comunicação, pois a cada iniciativa de
comunicação um grupo de variáveis é trazido para memória de uma só vez.

0682-227 (Rev.: 01) 45


Figura 45

• De forma geral, não especificamente para este driver, temos duas formas do driver
acessar o hardware e atualizar a sua tabela de memória:
− Por Pooling:
A atualização se dá de tempos em tempos, através de uma taxa fixa de
atualização, definida na configuração do driver. No nosso exemplo esta taxa é
Primary Rate.
− Por Exception:
A atualização se dá pela mudança da variável no processo e não associada a
uma taxa fixa de acesso aos dados pelo driver. Esta forma de acesso depende
da estrutura do driver/hardware envolvidos. Nem todos os drivers possuem esta
opção. Os drivers que possuem esta opção também são conhecidos como
estruturas baseadas em evento (mudança da variável), diminuindo assim o
tempo ocioso e conseqüentemente aumentando a performance da
comunicação. A partir da versão 7.x os drivers são baseados em eventos.

De forma geral podemos enquadrar os drivers dentro da seguinte estrutura de


entendimento:

0682-227 (Rev.: 01) 46


Figura 46

0682-227 (Rev.: 01) 47


11. BLOCOS DE DADOS
A base de dados é constituída de tags ou estruturas denominadas blocos de dados.
Basicamente os blocos podem ser classificados como sendo de entrada (Input) ou de
saída (Output).Os blocos de entrada de dados são utilizados para ler variáveis e retornos
do hardware do processo. Os blocos de saída, por sua vez são utilizados para enviar
informações para o hardware do processo, tais como comandos.

11.1 Bloco de Entrada Digital – DI


Utilizado para ler variáveis discretas do hardware do processo.Leitura de retornos de
campo, tais como defeitos.
Exemplo:
A38BV104_SOB – defeito de sobrecarga do equipamento de tag A38BV104.

ƒ Basic:
Veja detalhes da configuração:

Figura 47

Conforme mostrado na Figura 47, vamos destacar os pontos mais importantes, nas
opções de configuração:
• Driver:
Selecione o driver, previamente instalado e configurado conforme item 10.1
Configurando um Driver de Comunicação.
• I/O Address:
Selecione a sintaxe relativa ao endereçamento de I/O do ponto em configuração.
Esta sintaxe é gerada, automaticamente bastando substituir o endereço, desde
que o aplicativo de configuração do driver esteja previamente configurado.

0682-227 (Rev.: 01) 48


ƒ Hardware Options:
Permite selecionar o tipo de dado que o PLC/ hardware do processo irá fornecer
para aquela variável. Esta opção é importante para, em caso de necessidade, adaptar
o tipo de dado vindo do hardware do processo com o dado configurado no iFIX.
ƒ Alarms:
Veja detalhes da configuração:

Figura 48

Conforme mostrado na Figura 48, vamos destacar os pontos mais importantes, nas
opções de configuração:
• Alarm Options:
− Enable Alarming:
Habilita o armazenamento de informações de alarme.
− Enable Event Messaging:
Habilita o armazenamento de informações de evento para o bloco em
configuração. É importante observar que estas mensagens não precisam de
reconhecimento. Tanto as mensagens de evento quanto as mensagens de
alarme são enviadas para o mesmo destino (caminho configurado para alarme
no SCU), porém as mensagens de evento não aparecem no objeto sumário de
alarmes.
• Alarm Type:
− Change of State:
Gera um alarme a cada transição de estado do bloco. Os alarmes de transição
de estado Os alarmes configurados nesta opção deve estar associados a um
bloco baseado em tempo, pois a transição é avaliada pelo sistema dentro de
um período de varredura.
− Open:
Gera um alarme quando o valor do bloco for igual a zero.

0682-227 (Rev.: 01) 49


− Close:
gera um alarme quando o valor do bloco for igual a um.

• Alarm Priority:
Seta a prioridade do bloco para baixa, média, alta. Esta propriedade é interessante
quando iremos utilizar filtro de alarmes (através do objeto sumário de alarmes) na
aplicação. Um dos critérios possíveis para o filtro de alarmes é a prioridade.
• Alarm Areas:
Permite selecionar a qual área de alarme o bloco estará associado. Esta
configuração também é importante para permitir a filtragem de alarmes por área.
ƒ Advanced:
Veja detalhes da configuração:

Figura 49

• Alarm Extension Field:


Campo que permite a entrada de informações pelo usuário. Pode ser utilizado
como um campo complementar de descrição ou até mesmo adicionar
informações contidas em um arquivo do tipo txt. Devemos observar que todos
estes campos poderão ser manipulados posteriormente, conforme a conveniência
do usuário, para montagem da estrutura de alarmes da aplicação.
• Enable Output:
Habilita o envio de valores do bloco para o endereço de I/O, ou seja permite a
escrita na variável em questão.
• Invert Output:
Inverte o valor vindo da tabela do driver antes de atribuí-lo ao bloco.
• Startup:
Define o modo de inicialização do bloco. Esta inicialização pode ser dar quando
a base de dados é carregada ou quando o bloco é setado para On Scan.

0682-227 (Rev.: 01) 50


− Auto:
Em modo automático o bloco recebe dados da tabela imagem do driver
(DIT). Para relembrar conceitos sobre a DIT, consulte o item 1.3 Arquitetura
Básica.
− Manual:
Com esta configuração o bloco passa a aceitar entrada de dados manuais, ou
seja, passa a funcionar como uma variável interna sem ter retorno de
atualização do hardware do processo.

11.2 Bloco de Saída Digital - DO


Utilizado para enviar valores da base de dados para um endereço de I/O na tabela
imagem do driver e conseqüentemente para hardware do processo.

Exemplo:
A38BV104_LIGA – comando liga equipamento de tag A38BV104.

ƒ Basic:
Veja detalhes da configuração:

Figura 50

• Driver:
Selecione o driver, previamente instalado e configurado conforme item 10.1
Configurando um Driver de Comunicação.
• I/O Address:
Selecione a sintaxe relativa ao endereçamento de I/O do ponto em configuração.
Esta sintaxe é gerada, automaticamente, bastando substituir o endereço desde
que o aplicativo de configuração do driver esteja previamente configurado.

0682-227 (Rev.: 01) 51


• Hardware Options:
Permite selecionar o tipo de dado que o PLC/ hardware do processo irá fornecer
para aquela variável. Esta opção é importante para, em caso de necessidade,
adaptar o tipo de dado a ser enviado para o hardware do processo com o dado
configurado no iFIX.

ƒ Alarms:
Veja detalhes da configuração:

Figura 51

Conforme mostrado na Figura 51, vamos destacar os pontos mais importantes, nas
opções de configuração:
• Alarm Options:
− Enable Alarming:
Habilita o armazenamento de informações de alarme.
− Enable Event Messaging:
Habilita o armazenamento de informações de evento para o bloco em
configuração. É importante observar que estas mensagens não precisam de
reconhecimento. Tanto as mensagens de evento quanto as mensagens de
alarme são enviadas para o mesmo destino(caminho configurado para alarme
no SCU), porém as mensagens de evento não aparecem no objeto sumário de
alarmes.
• Alarm Areas:
Permite selecionar a qual área de alarme o bloco estará associado. Esta
configuração também é importante para permitir a filtragem de alarmes por área.

ƒ Advanced:
Veja detalhes da configuração:

0682-227 (Rev.: 01) 52


Figura 52

• Alarm Extension Field:


Campo que permite a entrada de informações pelo usuário. Pode ser utilizado
como um campo complementar de descrição ou até mesmo adicionar
informações contidas em um arquivo do tipo txt. Devemos observar que todos
estes campos poderão ser manipulados posteriormente, conforme a conveniência
do usuário, para montagem da estrutura de alarmes da aplicação.
• Security Areas:
Áreas de segurança da aplicação que podem ser configuradas para o bloco.

11.3 Bloco de Entrada Analógica – AI


Utilizado para ler valores numéricos do processo e armazená-lo na base de dados.
Aplicação em leitura de analógicas.

Exemplo:
A36LI300 – corrente no motor.

ƒ Basic:
Veja detalhes da configuração:

0682-227 (Rev.: 01) 53


Figura 53

Conforme mostrado na Figura 53, vamos destacar os pontos mais importantes, nas
opções de configuração:
• Driver:
Selecione o driver, previamente instalado e configurado conforme item 43.
• I/O Address:
Selecione a sintaxe relativa ao endereçamento de I/O do ponto em configuração.
Esta sintaxe é gerada, automaticamente, bastando substituir o endereço desde
que o aplicativo de configuração do driver esteja previamente configurado.
• Signal Conditioning:
Permite selecionar opções disponibilizadas pelo driver selecionado para executar o
condicionamento do sinal vindo do hardware do processo para ser carregado na
tabela imagem do driver.
− Exemplo de condicionamento de sinal:

Campo Faixa do sensor Valor no PLC Base de dados


iFIX
Limite Inf Eng 4 mA 0 -150
Limite Sup Eng 20 mA 32767 700
Tipo Condic. Sinal 15AL (0 – 32767)
Exemplo 1 12 mA 16383 275

Tabela 6

0682-227 (Rev.: 01) 54


Veja como chegar aos valores das faixas levantando a equação:

Figura 54

Para cada opção selecionada no campo “tipo de condicionamento de sinal” teremos


uma faixa de ajuste da escala disponível no hardware utilizado com a faixa EGU
configurada na Base de Dados do iFIX para a variável.
• Hardware Options:
Permite selecionar o tipo de dado que o PLC/ hardware do processo irá fornecer
para aquela variável. Esta opção é importante para, em caso de necessidade,
adaptar o tipo de dado vindo do hardware do processo com o dado configurado
no iFIX. Esta opção é disponibilizada pelo driver selecionado.

ƒ Alarms:
Veja detalhes da configuração:

Figura 55

0682-227 (Rev.: 01) 55


Conforme mostrado na Figura 55, vamos destacar os pontos mais importantes, nas
opções de configuração:
• Enable Alarming:
Habilita o armazenamento de informações de alarme.
• Priority:
Seta a prioridade do bloco para baixa, média, alta. Esta propriedade é interessante
quando iremos utilizar filtro de alarmes(através do objeto sumário de alarmes) na
aplicação. Um dos critérios possíveis para o filtro de alarmes é a prioridade.
• Alarm Areas:
Permite selecionar a qual área de alarme o bloco estará associado. Esta
configuração também é importante para permitir a filtragem de alarmes por área.
• Alarms:
Neste campo é possível configurar os limites de alarme para o bloco.
− Alarmes LO e LOLO:
Valores abaixo destes limites geram alarme.
− Alarmes HI e HIHI:
Valores acima destes limites geram alarme.
− Rate of Change:
Variação máxima possível dentro da faixa EGU entre uma varredura e outra.

ƒ Advanced:
Veja detalhes da configuração:

Figura 56

0682-227 (Rev.: 01) 56


• Alarm Extension Field:
Campo que permite a entrada de informações pelo usuário. Pode ser utilizado
como um campo complementar de descrição ou até mesmo adicionar
informações contidas em um arquivo do tipo txt. Devemos observar que todos
estes campos poderão ser manipulados posteriormente, conforme a conveniência
do usuário, para montagem da estrutura de alarmes da aplicação.
• Enable Output:
Habilita o envio de valores do bloco para o endereço de I/O, ou seja permite a
escrita na variável em questão.
• Filter:
Permite habilitar um filtro de primeira ordem para reduzir o ruído do sinal de
entrada. Para isto o algoritmo do filtro é baseada na seguinte equação:

Figura 57

• Startup:
Define o modo de inicialização do bloco. Esta inicialização pode se dar quando a
base de dados é carregada ou quando o bloco é setado para On Scan.
− Auto:
Em modo automático o bloco recebe dados da tabela imagem do driver (DIT).
Para relembrar conceitos sobre a DIT, consulte o item 4.
− Manual:
Com esta configuração o bloco passa a aceitar entrada de dados manuais, ou
seja, passa a funcionar como uma variável interna sem ter retorno de
atualização do hardware do processo.

11.4 Bloco de Saída Analógica – AO


Utilizado para escrever valores numéricos de set points, enviados da base de dados para o
processo.
Exemplo:
A36LI300_SP_PID – Set Point enviado para malha PID.

ƒ Basic:
Veja detalhes da configuração:

0682-227 (Rev.: 01) 57


Figura 58

Conforme mostrado na Figura 58, vamos destacar os pontos mais importantes, nas
opções de configuração:
• Driver:
Selecione o driver, previamente instalado e configurado conforme item 10.1
Configurando um Driver de Comunicação43.
• I/O Address:
Selecione a sintaxe relativa ao endereçamento de I/O do ponto em configuração.
Esta sintaxe é gerada, automaticamente, bastando substituir o endereço desde
que o aplicativo de configuração do driver esteja previamente configurado.
• Signal Conditioning:
Permite selecionar opções disponibilizadas pelo driver selecionado para executar o
condicionamento do sinal enviado ao hardware do processo pela tabela imagem do
driver(iFIX).

Para ver mais detalhes sobre condicionamento de sinal, veja Figura 54


• Hardware Options:
Permite selecionar o tipo de dado que o PLC/ hardware do processo irá fornecer
para aquela variável. Esta opção é importante para, em caso de necessidade,
adaptar o tipo de dado enviado para hardware do processo pelo iFIX. Esta opção
é disponibilizada pelo driver selecionado.
ƒ Alarms:
Veja detalhes da configuração:

0682-227 (Rev.: 01) 58


Figura 59

Conforme mostrado na Figura 59, vamos destacar os pontos mais importantes, nas
opções de configuração:
• Enable Alarming:
Habilita o armazenamento de informações de alarme.
• Enable Event Messaging:
Habilita o armazenamento de informações de evento para o bloco em
configuração. É importante observar que estas mensagens não precisam de
reconhecimento. Tanto as mensagens de evento quanto as mensagens de alarme
são enviadas para o mesmo destino(caminho configurado para alarme no SCU),
porém as mensagens de evento não aparecem no objeto sumário de alarmes
• Alarm Areas:
Permite selecionar a qual área de alarme o bloco estará associado. Esta
configuração também é importante para permitir a filtragem de alarmes por área.

0682-227 (Rev.: 01) 59


ƒ Advanced:
Veja detalhes da configuração:

Figura 60

• Alarm Extension Field:


Campo que permite a entrada de informações pelo usuário. Pode ser utilizado
como um campo complementar de descrição ou até mesmo adicionar
informações contidas em um arquivo do tipo txt. Devemos observar que todos
estes campos poderão ser manipulados posteriormente, conforme a conveniência
do usuário, para montagem da estrutura de alarmes da aplicação.
• Security Areas:
Define as áreas de segurança do sistema para o bloco em configuração.
• Operator Limits:
Limites de operação permitida para o bloco. Faixa admissível para entrada de
dados pelo operador.
− Low Value:
Limite inferior permitido para o campo.
− High Value:
Limite superior permitido para o campo.

Este tipo de funcionalidade é importante pois protege a operação do envio da


variável para o processo dentro de uma faixa pré-definida em fase de configuração.

0682-227 (Rev.: 01) 60


11.5 Bloco de Cálculo – CA

Figura 61

O bloco de cálculo permite gerar uma saída com base em uma expressão envolvendo os
campos de entrada.
É importante observar que este bloco, por filosofia, trabalha com a estrutura em cascata
necessitando portanto que a primeira entrada venha necessariamente da saída de um
outro bloco.
Neste exemplo, vamos configurar o bloco para calcular a seguinte expressão:
Saída = (A*B) + C.
Onde:
A = A36LI300.F_CV
B = 2
C = 0,0054
ƒ Passo 1.

Para isto temos que configurar a saída do bloco A36LI300 para ser entrada do bloco de
cálculo.

Figura 62

0682-227 (Rev.: 01) 61


ƒ Conforme mostrado na Figura 62, configuramos a etapa Next como sendo o bloco
de cálculo. Devido a este procedimento, veremos que ao configurar o bloco de
cálculo agora este já apresentará a pré-configuração do termo A da expressão,
recebendo o conteúdo do bloco A36LI300. Veja:

Figura 63

11.5.1 Operadores Possíveis para Trabalhar no Bloco de Cálculo

Operador Função
ABS(input) Valor absoluto
SQRT(input) Raiz quadrada
EXP(input) Anti Logarítimo
LOG(input) Logarítmo base 10
INT(input) Retorna inteiro a partir de um flutuante
- Negativo do valor
^ exponencial
* multiplicação
/ divisão
+ soma
- subtração
< Menor que
> Maior que

Tabela 7

0682-227 (Rev.: 01) 62


11.6 Bloco de Evento

Figura 64

O bloco de evento verifica uma condição de entrada, por exemplo associada à saída de
outro bloco, e a partir desta, roda comandos com base na verificação da entrada se
tornar verdadeira ou falsa.
Para as verificações de entrada podemos utilizar a palavra VALUE ou a palavra
ALARM. Estas palavras funcionam como se fossem palavras reservadas para o bloco.
Para os comandos que serão executados após a verificação, pelo bloco, podemos utilizar
RUN, STOP, OPEN, CLOSE. Desta forma, podemos visualizar que podemos enviar 1
(CLOSE) ou 0 (OPEN) para uma outra variável, rodar/parar um outro bloco, etc.
Veja a configuração do bloco:

Figura 65

0682-227 (Rev.: 01) 63


12. LABORATÓRIO 3
Objetivo - Criar uma base de dados que utilize a maioria dos recursos oferecidos pelo
iFIX.
Considere os seguintes TAGS no driver de Simulação:

TAG Endereço Descrição


ANA1 0 Analógica 1
ANA1 1 Analógica 1
DIG1 2:0 Digital 1
DIG2 2:1 Digital 2

Tabela 8

Utilizando recursos da base de dados do iFIX crie:


ƒ Blocos de entrada para ANA1 e ANA2 que só aceitem valores na faixa 0 .. 50.
ƒ Blocos de alarme para ANA1 e ANA2 com limite de alarme HI igual a 45 e HIHI
igual a 50.
ƒ Uma analógica que apresente a soma de ANA1 e ANA2.
ƒ Um sinal digital que esteja em 1 quando DIG1 for 1 e DIG2 for 0.
ƒ Um analógica que tenha seu valor igual ao de ANA1 quando DIG1 for igual a 0 e
igual a ANA2 caso contrário.
ƒ Um bloco tendência extendida (Extented Trend) para ANA2.
ƒ Uma tela com indicações para os valores de todos esses blocos e entradas para
DIG1, DIG2, ANA1 e ANA2.

Observação 1:
O mesmo endereço de I/O pode ser usado por blocos diferentes, quando isso acontece esses
blocos compartilham a informação guardada, sendo possível a modificação dessa através de
qualquer um dos bloco.

Observação 2:
Pode ser necessário mais de 1 bloco para cumprir cada tarefa.

Sugestão de resposta:
ƒ Criar blocos de escrita para ANA1 e ANA2 que só aceitem valores na faixa 0..50.
− No Database Manager crie um bloco do tipo AO – Analog Output. Preencha
o Tag Name como ANA1_OUTPUT e o endereço I/O como 0. Na paleta
Advanded preencha o campo Operator Low Limit como 0 e o campo
Operator High Limit como 50. Repita o procedimento para criar
ANA2_OUTPUT utilizando o endereço 1.

ƒ Criar blocos de alarme para ANA1 e ANA2 com limite de alarme HI igual a 45 e
HIHI igual a 50.

0682-227 (Rev.: 01) 64


− No Database Manager crie um bloco do tipo AA – Analogic Alarm.
Preencha o Tag Name como ANA1_ALARME e o endereço como 0.
Selecione a paleta Alarm:

Figura 66

− Preencha a tabela de alarmes como na figura acima. Repita o procedimento


para criar ANA2_ALARM, usando o endereço 2.

ƒ Criar uma analógica que apresente a soma de ANA1 e ANA2.


− Essa funcionalidade pode ser implementada com um bloco de Cálculo. Crie
um bloco do tipo CA – Calculation.
− Preencha seu Tag Name como CALC_SOMA. Já que esse bloco representara a
soma de duas analógicas que podem variar de 0 a 100, seus limites de
engenharia devem ser de 0 a 200. Preencha o campo Low Limit como 0 e o
Campo High Limit como 200. A entrada B deve ser configurada como
ANA2_ALARME (que representa ANA2). O campo Output Expression deve
conter a expressão A+B. A entrada A não pode ser configurada aqui, ela é o
campo previous e deve ser preenchida no bloco ANA1_ALARME, nesse o
campo NEXT deve ser preenchido como CALC_SOMA.

ƒ Criar um sinal digital que esteja em 1 quando DIG1 for 1 e DIG2 for 0.
− Para implementar essa funcionalidade utilizaremos o bloco booleano, mas
antes precisamos de blocos de entrada para disponibilizar os valores de DIG1
e DIG2. Crie um bloco do tipo DI – Digital Input, preencha seu Tag Name
com DIG1_INPUT e o endereço com 2:0. Repita esse procedimento para
criar DIG2_INPUT com o endereço 2:1. Agora crie um bloco do tipo BL –
Boolean.

0682-227 (Rev.: 01) 65


− Chame o bloco de BOOLEAN, preencha a entrada A com DIG1_INPUT e a
entrada B com DIG2_INPUT. O campo Output Expression deve conter a
expressão booleana da saída em função das entradas, em nosso caso A + ⎯B
(A ou B “barrado”). O campo F_CV do bloco BOOLEAN só será 1 quando
a expressão for verdadeira, ou seja quando DIG1=1 e DIG2=0.

ƒ Criar uma analógica que tenha seu valor igual ao de ANA1 quando DIG1 for igual a
0 e igual a ANA2 caso contrário.
− Podemos usar um bloco de cálculo para efetuar essa tarefa, basta lembrarmos,
que quando usamos uma entrada digital nesse bloco, ela é convertida para um
inteiro. OPEN é convertido para 0 e CLOSE é convertido para 1. Crie um
bloco CA – Calculation, chame-o de SELECIONE. Configure seu campo
PREVIOUS como DIG1_INPUT (isso requer que você abra o bloco
DIG1_INPUT e preencha seu NEXT como SELECIONE). Preencha as
outras entradas como:
B = ANA1_ALARME
C = ANA2_ALARME
D = 0,5
− Baseado nas entradas acima a expressão (A*B)+((A<D)*C) será
numericamente igual a B quando A=1 e igual a C quando A=0, o que é o
nosso objetivo (Confira!). Portanto preencha o campo Output Expression
com a expressão acima.

Observação:
Lembre-se que os operadores > e < tem 0 ou 1 como resultado.

ƒ Criar um bloco tendência extendida (Extented Trend) para ANA2.


− No Database Manager crie um bloco do tipo ETR – Extended Trend. Sua
caixa de configuração é mostrada abaixo:

Figura 67

0682-227 (Rev.: 01) 66


− Chame o bloco de ETR_ANA2, preencha o campo Input Tag com
ANA2_ALARME.
− Abra o bloco ANA2_ALARME e configure seu NEXT como ETR_ANA2.
Crie um gráfico no WorkSpace e selecione a fonte de uma de suas penas como
FIX.ETR_ANA2.TDATA. Esse gráfico mostrará um histórico no tempo dos
últimos 600 valores de ANA2_ALARME.

0682-227 (Rev.: 01) 67


13. TENDÊNCIA
A tendência é um tipo de animação utilizada para mostrar dados em tempo real e de
forma histórica (dados armazenados ao longo de um período)

13.1 Tendência Real


Para inserir uma tendência real em uma tela sinótica, basta selecionar no toolbox o ícone

.A tendência real se baseia na estrutura de vizualização de variáveis selecionadas


diretamente do Database, ou seja, variáveis que não estão sendo armazenadas. Desta
forma estaremos mostrando o valor real da variável naquele instante.
Na figura, podemos observar uma tendência real de duas variáveis. Para melhor
caracterizar a tendência como real, observe o eixo do tempo.

Figura 68

As configurações podem ser vistas a seguir.


Na paleta General temos opções gerais a respeito da forma de visualização do objeto, tais
como cor de fundo, se o objeto aparecerá selecionado, permitindo mostrar diversos
valores, etc.

Figura 69

0682-227 (Rev.: 01) 68


Na paleta Chart podemos configurar todas as propriedades relativas às penas(variáveis
que estão sendo plotadas):

Figura 70

Conforme mostrado na Figura 70, o modo de amostragem histórica das variáveis


plotadas está inativo, pois a tendência que está em questão é a real.
Os ícones mostrados no PenList indicam respectivamente:
ƒ Adicionar uma nova pena.
ƒ Retirar a pena selecionada.
ƒ Mover as penas de posição. Estas serão mostradas da direita para a esquerda na
ordem que foram configuradas.

13.2 Tendência Histórica


Para inserir uma tendência histórica em uma tela sinótica, basta selecionar no toolbox o

ícone .A tendência histórica se baseia na estrutura de visualização de variáveis


selecionadas a partir da tarefa Historical Assignment. Esta tarefa permite criar grupos de
variáveis a serem coletadas, que serão visualizadas posteriormente em um gráfico.
Vamos criar aqui uma seqüência de passos para criar uma tendência histórica:

0682-227 (Rev.: 01) 69


13.2.1 Arquitetura Geral

Figura 71

0682-227 (Rev.: 01) 70


13.2.2 Passos para Criação de uma Tendência Histórica
1. Criar um grupo de variáveis a ser coletadas na tarefa Historical Assignmnet (tarefa HTA
– tarefa de configuração de coleta) na árvore do projeto, visualizada no Workspace.
Veja:

Figura 72

2. A janela que permite a configuração das variáveis que serão armazenadas sob forma
histórica pode ser visualizada abaixo:

0682-227 (Rev.: 01) 71


Figura 73

ƒ Para adicionar tags:


• Clique em Tagname
• Selecione a variável que se deseja armazenar.
• Clique em Add.
• Salve a configuração do grupo de tags.

Qualifier:
Este item permite adicionar um tag digital que irá controlar os momentos que serão
executadas as coletas de dados. Caso não seja configurado nenhum tag para este item a
coleta ocorrerá durante todo o tempo que rodar a aplicação.
No caso da configuração de um tag para qualifier, quando este assumir o valor 1, a tarefa
irá coletar dados e no momento que este passar para zero, será dado um stop na coleta
de dados.
A configuração do item i é opcional, dependendo do tipo de controle que desejamos ter
para a coleta de dados a serem armazenados.
Rate:
Taxa de coleta dos tags deste grupo.
Phase:
Tempo de atraso para distribuir automaticamente a coleta de dados.
Limit:
Funciona como banda morta, atuando como mudança mínima do valor gravado
anteriormente para escrita de um novo valor no arquivo de dados histórico. A
configuração devida deste parâmetro pode representar economia de tempo de
processamento e espaço em disco.

3. Configurar no System Configuration (SCU) a partida automática da tarefa que controlará


a coleta dos dados(HTC) configurados na tarefa HTA, mencionada no item anterior.

0682-227 (Rev.: 01) 72


Figura 74

Após configurada a tarefa que fará efetivamente a coleta de dados na partida do sistema,
toda vez que o iFIX partir a coleta de dados será inicializada automaticamente.

4. Inserir um Chart na tela através da opção , presente no toolbox.


5. Na guia Chart da janela de configuração da Tendência, inserir as penas, conforme
mostrado:

Figura 75

0682-227 (Rev.: 01) 73


6. Clique no box de seleção e adicione penas da tarefa histórica, configurada através dos
itens anteriores. Um aspecto de diferença da tendência histórica para a real se
encontra neste passo, pois na tendência real as variáveis são selecionadas diretamente
do Database e no caso da tendência histórica, as variáveis são selecionadas da tarefa
que as armazenou.

Figura 76

7. Agora basta rodar a aplicação contendo o objeto de tendência configurado.

0682-227 (Rev.: 01) 74


14. SCHEDULER
Ambiente de configuração de ações a serem tomadas em modo de execução pela
aplicação. Estas ações podem ser baseadas em tempo ou em evento.
O Scheduler faz parte da árvore do projeto presente no Workspace.
As ações mais comuns a serem tomadas em tempo de execução são:
ƒ executar um relatório
ƒ abrir uma tela. Por exemplo uma tela de parâmetros que recebem entrada de dados
sempre em um dia específico do mês.
ƒ Escrever na base de dados.

Pode-se adicionar várias ações em um mesmo arquivo de Schedule, como podemos ter
também vários arquivos de Scheduler rodando simultaneamente.

0682-227 (Rev.: 01) 75


A janela de configuração para o Scheduler é a seguinte:

Figura 77

0682-227 (Rev.: 01) 76


14.1 Inserindo um Scheduler na Aplicação
Para inserirmos um sheduler na aplicação seguiremos uma seqüência de passos.
1. Clique com o botão direito do mouse em cima da tarefa scheduler na árvore do projeto
dentro do workspace.
2. Selecione a opção New Scheduler
3. Dê um duplo clique na planilha de entrada de dados e configure, conforme
mostrado. A configuração permite entrar com situações que responderão a trigger de
tempo ou a trigger de evento.

0682-227 (Rev.: 01) 77


Figura 78

0682-227 (Rev.: 01) 78


4. Executado o passo anterior, temos a seguinte janela de configuração:

Figura 79

5. Na janela de configuração da Figura 79, selecione o tipo de operação (comando) a ser


executada e logo após clique em Run Expert. Com este procedimento, será criado
automaticamente o código no ambiente VBA para permitir a execução do comando
selecionado. Caso queira criar um código personalizado associado a operação
selecionada, clique em VB Editor.

14.2 Para Rodar um Scheduler


Após ter configurado o módulo, iremos acrescentar alguns passos para rodar o Scheduler.
1. Com a tela de configuração do Scheduler aberta e selecionada, clique no menu
edit\scheduler properties do ambiente Workspace. Com este procedimento, iremos
configurar o módulo para rodar em background Veja:

0682-227 (Rev.: 01) 79


Figura 80

2. Adicionar a tarefa que controla os módulos que rodam em background. Este


procedimento é feito no SCU (System Configuration).Para isto selecione o ícone Task
Configuration na janela do SCU.

Figura 81

3. Adicionar a tarefa localizada no caminho


C:\DYNAMICS\FIXBACKGROUNDSERVER.EXE, em background.

0682-227 (Rev.: 01) 80


Figura 82

0682-227 (Rev.: 01) 81


15. LABORATÓRIO 4

Objetivo
Criar uma aplicação que utilize os recursos de Schedule do iFIX.

Crie um evento para que um picture se abra automaticamente todo dia às 14:00 horas ou
quando a Analógica ANA1 (endereço I/O 0) ultrapasse o valor de 80.
Sugestão de resposta:
ƒ Criar um Schedule baseado em Tempo.
− No WorkSpace Clique com o botão direito em Schedules e selecione a opção
New Schedule. A seguinte Janela é exibida:

0682-227 (Rev.: 01) 82


Figura 83

0682-227 (Rev.: 01) 83


− Duplo-clique numa linha em branco da planilha Time Based Entries para criar
um novo Schedule baseado em tempo. A seguinte caixa de configuração é
exibida:

Figura 84

− Preencha o campo Name com AbreTela. No painel Trigger Info selecione a


opção Daily (Diariamente). Pode-se então marcar em quais dias da semana se
quer executar o Schedule. Marque todos. Configure o campo Start Time como
14:00:00.
− No campo Action Info selecione a opção Open Picture. Na janela que se
abre preencha o campo Picture Name com o nome do picture que se deseja
abrir. Clique em OK para finalizar a configuração desse Schedule.

ƒ Criar um Schedule baseado em Evento.


− Crie um Bloco Analog Input para ANA1. Chame-o de ANA1_INPUT.
− Selecione na planilha dos Schedules a paleta Event Based Entries. Duplo-clique
em uma linha em branco para criar um novo Schedule baseado em Evento. Sua
caixa de configuração é exibida abaixo:

0682-227 (Rev.: 01) 84


Figura 85

− Preencha o campo Name como EvtAbreTela. Clique nos três pontos ao


lado do DataSource e selecione a condição ANA1_INPUT.FCV > 80.
− No campo Operation selecione a opção Open Picture e configure o picture a
ser aberto como na tarefa anterior.

ƒ Feche a planilha de schedules, salvando-a como lab4.evs.

Reiniciando o iFIX é possível testar os Schedules criados. Simule uma das condições
configuradas e veja como o picture se abre automaticamente. Há várias outras tarefas que
podem ser executadas por Schedules como fechar Tags digitais, reconhecer alarmes ou até
mesmo executar um Script Customizado. Basta selecionar a tarefa desejada no campo
Operation e configurar as opções necessárias. Bom trabalho!

0682-227 (Rev.: 01) 85


16. TRABALHANDO COM VBA
O iFIX possui um ambiente de desenvolvimento de scripts para os objetos integrados.
Os scripts serão desenvolvidos em VBA (Visual Basic for Applications).
As diferenças básicas entre VB e VBA são citadas abaixo:
ƒ O VB cria executáveis a partir do código do aplicativo, enquanto o VBA apresenta o
código embutido na aplicação do ambiente que a desenvolveu.
ƒ O VB é externo à aplicação, enquanto o VBA é interno, portanto sendo direto o link
com a base de dados do iFIX no último caso.

16.1 Aplicações do VBA


ƒ Animação de objetos
ƒ Criar eventos automáticos para objetos (telas, botões, etc.).
ƒ Executar aplicações automaticamente.
ƒ Acesso a banco de dados com código personilizado, via ODBC.
ƒ Incorporar funções a objetos ActiveX inseridos.
ƒ Criar estrutura de mensagens para a aplicação via janelas típicas(interface Windows).

16.2 Conceitos Utilizados na Programação


ƒ Objetos:
Conjunto de informações(dados, configurações e procedimentos) tratados
encapsulados.

Cada objeto possui suas propriedades e métodos específicos.


ƒ Propriedades:
Características de um objeto.

Exemplo:
cor, tamanho.

ƒ Métodos:
Sub-rotinas que afetam o comportamento do objeto.

Exemplo:
Método para adicionar penas dinamicamente em uma tendência.

ƒ Eventos:
Ações que os objetos reconhecem, tal como selecionar um objeto, clique do mouse.
Quando um código está associado a um evento, este será executado quando o
evento for disparado.

Exemplo:
Click do mouse, ocorrência da mudança de valor da variável, etc.

0682-227 (Rev.: 01) 86


16.3 Exemplos de Utilização do VBA
Dada uma janela de operação de um equipamento, vejamos a utilização do VBA.

Figura 86

16.3.1 Set de Variável Digital para um Valor

Sintax Geral:
ƒ Para setar a variável digital para 1
CloseDigitalPoint [DigitalPoint], [intErrorMode]

Onde:
DigitalPoint String. Nome do bloco digital que será setado para 1.

ƒ Para setar a variável digital para 0.

OpenDigitalPoint [DigitalPoint], [intErrorMode]

Onde:
DigitalPoint String. Nome do bloco digital que será setado para 0.

Exemplo:
'Publicando o Genérico dos Comandos
Option Explicit
Public TAG_LIGA As String

0682-227 (Rev.: 01) 87


Private Sub CMB_LIGA_Click()
closedigitalpoint (TAG_LIGA)
End Sub

16.3.2 Abrindo uma Tela ou Janela

Sintax Geral:
ƒ Para abrir uma janela/tela
OpenPicture [Picture], [PictureAlias], [TopPosition],
[LeftPosition], [intErrorMode]

Onde:
ƒ Picture:
Nome do arquivo de picture que se deseja abrir.
ƒ Picture Alias:
Apelido utilizado para caracterizar o picture internamente na aplicação.
ƒ Demais configurações:
Opcionais.

Para Fechar uma Janela/Tela


ClosePicture [Picture], [intErrorMode]
Onde:
ƒ Picture:
Nome do arquivo de picture que se deseja fechar.
ƒ Demais configurações:
Opcionais.

Exemplo:

Private Sub Barramento_Botoes_ButtonClick(ByVal Dados As Variant)


Dim PictName As String
If Not IsPicOpen(PictName) Then
ClosePicture "Tela_Atual"
OpenPicture PictName, "Tela_Atual", 0, 0
End If
If Not IsPicOpen("Barra_Alarmes") Then
OpenPicture "Barra_Alarmes", , 90, 0
End If
End Sub

0682-227 (Rev.: 01) 88


16.3.3 Script para Inicialização de um Objeto
Nesta seção, abordaremos como exemplo, a inicialização do objeto Janela(Picture)

Sintax Geral:

Object_Initialize()

Onde:
Object pode ser Picture, Scheduler, Dynamos, Globals.

16.3.4 Escrita em Variáveis da Base de Dados


Nesta seção abordaremos a aplicação da alteração dos limites de engenharia de uma
variável analógica, via janela de operação.

Figura 87

Sintax Geral:

WriteValue Value , [DataPoint], [intErrorMode]

Onde:
ƒ Value:
Variável do tipo String. Valor a ser escrito no bloco(variável) especificada.
ƒ Data Point:
variável tipo String. Nome do bloco a ser acessado para escrita.
ƒ Demais Parâmetros:
Opcionais.

0682-227 (Rev.: 01) 89


17. LABORATÓRIO 5

Objetivo
Utilizar VBA para diversas tarefas no iFIX.

Realize as seguintes tarefas através de Scripts VBA (não utilize Experts):


1. Configure um botão para que ele abra um picture quando for pressionado.
2. Configure para que um botão efetue um toggle no valor do tag digital DIG1 (endereço
I/O 2:0) quando for pressionado.
3. Configure um picture de tal forma que o WorkSpace seja fechado quando esse picture
for fechado.
Dica: Consulte o help do iFIX, quanto aos métodos do objeto Application e os
eventos do objeto CFixPicture.

Sugestão de resposta:

ƒ Configurar um botão para que ele abra um picture quando for pressionado.
1. Crie um botão, clique nele com o botão direito e selecione a opção Edit Script.
2. O código que inserirmos na sub-rotina NomedoBotao_Click será executado toda
vez que o botão for pressionado. Para a tarefa especifica de abrir um picture temos a
função OpenPicture. Para abrir o picture lab4.grf fariamos:

Private Sub CommandButton1_Click()


OpenPicture ("lab4.grf")
End Sub

0682-227 (Rev.: 01) 90


Figura 88

0682-227 (Rev.: 01) 91


ƒ Configure para que um botão efetue um toggle no valor do tag digital DIG1
(endereço I/O 2:0) quando for pressionado.
1. Crie um bloco de entrada digital para DIG1, chame-o de DIG1_INPUT.
2. Similarmente a tarefa anterior crie um botão e edite seu script.
3. A ação toggle exige uma decisão, se o ponto digital for igual a 1 escreva 0, caso
contrário escreva 1. É esse “algoritmo” que devemos implementar em VBA. O
seguinte código é um exemplo de implementação:
Private Sub CommandButton2_Click()
If ReadValue("DIG1_INPUT") Then
OpenDigitalPoint ("DIG1_INPUT")
Else
CloseDigitalPoint ("DIG1_INPUT")
End If
End Sub

0682-227 (Rev.: 01) 92


Figura 89

0682-227 (Rev.: 01) 93


ƒ Configure um picture de tal forma que o WorkSpace seja fechado quando esse picture
for fechado.

4. O evento Close de um picture é executado quando ele é fechado, portanto devemos


inserir nosso código nesse evento.
5. Checando a configuração do objeto Application, vemos o método Quit. Ele fecha o
workspace, quando chamado.
6. Devemos então inserir o seguinte código no evento CFixPicture_Close do nosso
picture:

Private Sub CFixPicture_Close()


Aplication.Quit
End Sub

0682-227 (Rev.: 01) 94


Figura 90

0682-227 (Rev.: 01) 95


18. ALARMES E EVENTOS
A abordagem de Alarmes visa o entendimento:
ƒ Da configuração das variáveis que serão setadas para alarme;
ƒ Da alocação das variáveis para áreas de alarme;
ƒ Da configurção dos serviços disponíveis para alarme;
ƒ A forma que os alarmes serão distribuídos entre os nós.

Para configurarmos a tarefa de alarme, precisamos seguir uma seqüência de passos:


1. Especifique todos os caminhos da área de alarme para todas as estações que farão
parte da arquitetura. Esta configuração é feita no SCU\paths. Este caminho deve ser
configurado em Alarme Areas (AAD).

Figura 91
Neste item devemos observar que:
ƒ A base de dados deve ser compartilhada com os nós do sistema (através das
definições iniciais dos conceitos de nó lógico e nó físico).
ƒ Se a arquitetura estiver utilizando um servidor de arquivos, configure o caminho
apontando para este servidor.
ƒ Mover o arquivo default AlarmAreas. ADD para o servidor de arquivos.

2. Defina o nome das áreas de alarme para a arquitetura. Os nomes default são as áreas
de A a P. Para acessar esta configuração entre no SCU\Edit Alarm Area Database.

0682-227 (Rev.: 01) 96


Figura 92

3. Edit o nome das áreas que serão utilizadas em toda a arquitetura

Figura 93

4. Defina o formato a ser utilizado no Sumário de Alarmes. Neste item, selecione quais
as colunas devem ser visualizadas, a ordem de visualização, etc. Devemos atentar que
as mensagens de evento não aparecem no sumário de alarmes, justamente pelo fato
de que por definição, estas não requererem o reconhecimento da operação.

Figura 94

5. Habilite e configure os serviços de alarmes nos nós.

0682-227 (Rev.: 01) 97


6. Para os servidores SCADA, devemos configurar para cada bloco da base de dados:
ƒ Habilitar alarme e mensagens de evento.
ƒ Especificar a área de alarme.
ƒ Selecionar a prioridade do alarme.
ƒ Definir os limites de alarmes ou sua forma de atuação no caso das variáveis discretas.

7. Para as estações cliente, crie interfaces(telas, janelas, objetos) para mostrar alarmes
utilizando link de dados, sumário de alarmes, objetos dedicados.

0682-227 (Rev.: 01) 98


19. OBJETOS ACTIVEX
São componentes de software, encapsulados, gerados em linguagens diferentes e que
podem ser inseridos em aplicações que suportem esta tecnologia.Estes componentes são
baseados no modelo de programação COM (Component Object Model) e no
desenvolvimento OLE (Object Linking and Embedding).
Este tipo de objeto permite ampliar a capacidade de animação da aplicação, quando os
objetos básicos passam a não atender às funcionalidades requeridas.

19.1 Inserindo um Objeto ActiveX na Aplicação


Neste itens abordaremos a seqüência de passos para inserção de um bargraph em uma
aplicação:
1. Dentro do ambiente Workspace, ir no menu Insert\Ole Object.
2. Teremos disponível a janela de seleção dos objetos registrados, previamente, na
máquina, conforme abaixo:

Figura 95

3. Selecione o objeto a ser inserido e clique em OK.

Uma vez inseridos na aplicação, estes passam a integrá-la, tal como as demais
animações. É importante observar que dependendo da estrutura de cada objeto OLE
inserido, é liberado um conjunto de propriedades que podem ser alterados em tempo de
execução para compor o efeito desejado na animação.

0682-227 (Rev.: 01) 99


20. GRUPO DE TAGS
O conceito de grupo de tags está associado à aplicação de variáveis genéricas (símbolos)
utilizados em típicos.
Um grupo de tags pode ser definido como sendo um conjunto de variáveis representadas
por símbolos e suas substituições, guardados em um arquivo com extensão tgd.

20.1 Criando um Grupo de Tags para uma Animação


Neste item abordaremos a seqüência de passos para criação de um grupo de tags em uma
animação de um botão chamando a janela de operação de um equipamento.
1. Inserir um botão em uma tela
2. Selecionar o objeto
3. Clique em OpenPictureExpert – esta ferramenta irá auxiliá-lo na geração do script
automático e também nos dará acesso à edição de um tag group.

Figura 96

4. Clique no ícone de abertura do editor de Tag Group.

Figura 97

5. Então a janela de configuração do arquivo é aberta, conforme mostrado.

0682-227 (Rev.: 01) 100


Figura 98

Podemos definir os itens de configuração assim:


ƒ Symbol:
Campo de preenchimento obrigatório. Nome genérico que pode ser utilizado em
scripts, animações, etc.

Desta forma toda a estrutura de animação se torna geral e será substituída pelo tag
específico em tempo de execução.
ƒ Substitution:
Texto que substituirá o Symbol em tempo de execução em toda a estrutura da
aplicação. Este campo é obrigatório.
ƒ Description:
Campo opcional, que descreve a função do tag group.

Após ter editado o arquivo de grupo de tags, é criado um arquivo binário, contendo as
informações de configuração no subdiretório default \PIC.

20.2 Animando Utilizando o Tag Group


Todas as animações de tela onde é desejado utilizar o conceito de Tag Group, devemos
adotar o procedimento de utilizar o símbolo como data source, sendo este destacado
por @ no início e no final do símbolo.
No exemplo abaixo, estaremos adicionando um datalink na tela e utilizando como fonte
de animação o primeiro símbolo utilizado no arquivo tgd referenciado na Figura 98.
Veja:

0682-227 (Rev.: 01) 101


Figura 99

Sugestão:
Observe o comportamento da variável @TAG_LIGA@ sendo fonte de um datalink
colocado-o em uma tela qualquer, diferente da janela que carregou o arquivo de parâmetros.

Com este tipo de teste observamos que o conteúdo de @TAG_LIGA@ somente é


atualizado na janela que carregou o arquivo de parâmetros, ou seja, somente na camada
desta janela é feita a substituição de
@TAG_LIGA@ -> Fix32.FIX_LOGI.A38BV104_LIGA.F_CV

0682-227 (Rev.: 01) 102


21. OPC

OPC (OLE for Process Control)


O padrão OPC foi concebido baseado nas tecnologias OLE (que tem sua origem no
DDE) e COM da Microsoft, que permitem o compartilhamento de dados em módulos
de software diferentes, baseados no padrão adotado para representação das variáveis.
Baseados no conceito de compartilhamento de dados, as diversas aplicações podem
assumir papel de Cliente ou Servidora de variáveis, dependendo do contexto que a
arquitetura aborda.

21.1 Conceitos Básicos sobre Cliente e Servidor


ƒ Aplicações estruturadas para serem Cliente OPC:
Neste tipo de configuração o cliente se conecta a um servidor OPC e é do cliente a
iniciativa de comunicação, ou seja, é este que define a taxa de atualização das
variáveis que ele deseja ver.
ƒ Aplicações estruturadas para serem servidor OPC:
Neste tipo de configuração o servidor simplesmente disponibilizará a base de dados
para consultas de aplicações externas.

21.2 iFIX Trabalhando como Servidor OPC de Outras Aplicações

Figura 100

Para que o iFIX seja Servidor OPC de outras aplicações, não é necessário qualquer
procedimento especial. Isto porque, o Servidor OPC já é nativo do software,
acompanhando-o juntamente com a instalação.
Neste tipo de arquitetura, a solicitação de comunicação é feita pelo cliente. É este quem
definirá quais as variáveis deseja ler e em que taxa deseja a sua atualização.

0682-227 (Rev.: 01) 103


No exemplo mostrado na Figura 100, temos o iFIX como Servidor OPC e o Matrikon
OPC Explorer como Cliente OPC.
No Matrikon foi criado:
ƒ Um grupo OPC denominado G1.
ƒ Um item OPC denominado:FIX_LOGI.A38BV104_LIGA.F_CV.
ƒ Access Path: vazio.

Para a configuração citada, o servidor de conexão é Intellution.OPCEDA


Veja a configuração:

Figura 101

Na Figura 101, mostramos a conexão do Cliente Matrikon com o Servidor OPC do


iFIX. A variável que o cliente está solicitando pode ser vista na Base de dados do iFIX,
como mostrado abaixo:

0682-227 (Rev.: 01) 104


Figura 102

21.3 iFIX Trabalhando como Cliente OPC de Outras Aplicações


Para que o iFIX seja Cliente OPC de outras aplicações, são necessários, de forma geral,
alguns procedimentos:
ƒ Registrar o Servidor OPC da aplicação que faremos a conexão na estação do iFIX.
ƒ Executar o Data Server Installer (C:\Dynamics\DataServerInstaller.exe), para
permitir a criação de um recurso Data Server a ser disponibilizado para utilização em
animações, baseado no Servidor OPC da aplicação que faremos a conexão.

Adicionar um link dinâmico em uma tela do iFIX e selecionar como fonte qualquer
variável da aplicação servidora que se deseja ver pelo iFIX.

0682-227 (Rev.: 01) 105


Figura 103

Conforme mostrado na Figura 103, utilizaremos como exemplo o iFIX sendo cliente
OPC do Matrikon OPC Server. Para isto devemos executar os seguintes passos:
ƒ Registrar o OPC Server Matrikon na estação do iFIX. No caso do Matrikon, a
instalação do ambiente de simulação já é suficiente para criar os registros na
máquina. Caso não tenha o ambiente de instalação instalado, basta registrar o
recurso utilizando o comando:

\regsvr32 nome do recurso

Este comando pode ser dado a partir do Prompt do MS-DOS, estando no diretório que
contém o recurso do servidor na máquina.

ƒ Executar o arquivo Data Server Installer no diretório de instalação do iFIX:


C\Dynamics\DataServerInstaller.exe:/

0682-227 (Rev.: 01) 106


Figura 104

Conforme mostrado na Figura 104, adicionar um Data Server para o Servidor OPC
Matrikon. Este Data Server tornará disponível as variáveis do Servidor Matrikon para
serem utilizadas pelo iFIX, da forma que lhe convier.
É importante relembrar aqui que a iniciativa de comunicação é do iFIX (Cliente OPC
nesta configuração), portanto quando iniciar novamente a aplicação você observará que
o iFIX chamará automaticamente o recurso do Servidor Matrikon.
A taxa de atualização das variáveis do Matrikon, dentro do ambiente da aplicação do
iFIX é de responsabilidade do Cliente OPC, no caso o iFIX.
ƒ Insira em uma tela do iFIX um datalink e adicione a variável do Matrikon, agora
disponível na guia Data Servers, veja:

0682-227 (Rev.: 01) 107


Figura 105

0682-227 (Rev.: 01) 108


22. REDUNDÂNCIA
A redundância é configurável no iFIX. Neste item abordaremos a arquitetura básica,
mostrada na Figura 106, utilizando redundância e suas implicações. Entendida a
abordagem, basta aplicar os conceitos na escala da arquitetura desejada.
No caso da estação SCADA Primária falhar, a estação VISTA alterna automaticamente
a leitura de dados para a estação SCADA Backup. Este processo é denominado
tecnicamente como SCADA Failover.
É importante observar que após a falha da estação principal, os alarmes continuam
sendo atualizados normalmente na estação backup, devido à sincronização.

Figura 106

22.1 Configurações Necessárias nas Estações para Atender à


Redundância
ƒ Nas estações SCADA (primária e backup).
• Devem possuir base de dados idênticas.
• Devem possuir o mesmo acesso aos dispositivos de hardware (meio físico e lógico,
ou seja drivers, rede, etc.).
• O SCU de cada estação deve estar configurado para haver o sincronismo de
alarmes. Para isto, basta configurar para cada estação um arquivo SCU,
referenciando o nó parceiro no SCADA Configuration no item Backup Scada.

ƒ Na estação VISTA:
• Arquivo de SCU dedicado para esta estação, permitindo ver o Failover
automático (uma estação assumindo o papel da outra em caso de falha).

É importante lembrar, que por definição, a estação VISTA acessa os dados da servidora
SCADA ativa no momento.

0682-227 (Rev.: 01) 109


22.2 Passos para Configurar a Redundância
ƒ Configuração do SCU da estação SCADA primária:
1. Acessar o menu Configure\Local Startup do SCU

Figura 107

2. Acessar a configuração de rede do SCU. Este procedimento permitirá associar o nó


lógico ao nó físico dos servidores SCADA Primário e Redundante. Desta forma,
estaremos tornando o nó lógico acessível para ser utilizado na aplicação. Como a
aplicação referencia suas animações, scripts e controles ao nó lógico, estas podem ser
vistas de qualquer estação da arquitetura.

Figura 108

0682-227 (Rev.: 01) 110


3. Acessar a configuração SCADA do SCU. Este procedimento permitirá configurar o
item Backup SCADA. e o database name.

Esta configuração deve fazer referência ao nó servidor parceiro. Desta forma estaremos
fazendo referencia do sincronismo de alarmes/base de dados entre a estação principal e
a backup (redundante).

Figura 109

ƒ Configuração do SCU da estação SCADA secundária:


Utilizaremos, para efeitos didáticos, a analogia com o enfoque abordado para
configuração do SCU da estação SCADA Primária. Desta forma, mencionaremos o item
e a configuração que atenderá a estação SCADA Backup.
1. Acessar o menu Configure\Local Startup do SCU.
Onde:
ƒ Local Node Name:
FIX_RED
ƒ Local Logical Name:
FIX_LOGI

2. Acessar a configuração de rede do SCU.


ƒ Remote Node Name:
FIX_LOGI
ƒ Primary:
FIX
ƒ Backup:
FIX_RED

0682-227 (Rev.: 01) 111


3. Configuração SCADA SCU
ƒ Database Name:
BASEDADO.pdb
ƒ Backup Scada(partner scada):
FIX

4. Configuração nó Vista
ƒ Logical Name:
FIX_LOGI
ƒ Primary SCADA:
FIX
ƒ Backup SCADA:
FIX_RED

Conclusão: Após a Configuração Teremos:


ƒ Disponível o nó lógico para animação
ƒ O nó lógico está referenciado ao nó físico da SCADA Primária e Backup.
ƒ A configuração do parceiro SCADA nos dois servidores fazem referência um ao
outro e a uma mesma base de dados para que haja sincronização dos alarmes em
caso de falha, ou seja, os alarmes que já haviam sido reconhecidos na estação ativa
não retornam após a falha na estação que assumem.

0682-227 (Rev.: 01) 112