Documente Academic
Documente Profesional
Documente Cultură
: 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
Nº de págs. ATAN
Rev. Natureza da Revisão Total Corpo Data
do doc. principal Elaborado Verificado Aprovado
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.
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).
Figura 3
Figura 4
iFIX Client TS
Figura 5
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).
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.
Figura 7
Figura 8
Figura 9
Tabela 1
Figura 10
Tabela 2
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.
Figura 12
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.
Figura 13
Tabela 3
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.
Figura 14
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.
Figura 16
Figura 17
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.
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.
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
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.
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.
Figura 22
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:
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
/
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.
• 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.
Figura 26
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
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.
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.
Fill Expert
Rotate Expert
Position Expert
Scale Expert
Visibility Expert
Tabela 5
Figura 29
Figura 30
Figura 31
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
Figura 34
Startup Pictures:
Permite adicionar as telas que serão abertas na partida do sistema.
Figura 35
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
Figura 37
Figura 39
Figura 40
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!
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.
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
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.
• 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.
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.
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.
• 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
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.
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:
Exemplo:
A36LI300 – corrente no motor.
Basic:
Veja detalhes da configuração:
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:
Tabela 6
Figura 54
Alarms:
Veja detalhes da configuração:
Figura 55
Advanced:
Veja detalhes da configuração:
Figura 56
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.
Basic:
Veja detalhes da configuração:
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).
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.
Figura 60
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
Figura 63
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
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
Tabela 8
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.
Figura 66
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.
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.
Figura 67
Figura 68
Figura 69
Figura 70
Figura 71
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:
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.
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.
Figura 75
Figura 76
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.
Figura 77
Figura 79
Figura 81
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:
Figura 84
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!
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.
Figura 86
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.
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
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.
Exemplo:
Sintax Geral:
Object_Initialize()
Onde:
Object pode ser Picture, Scheduler, Dynamos, Globals.
Figura 87
Sintax Geral:
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.
Objetivo
Utilizar VBA para diversas tarefas no iFIX.
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:
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.
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
7. Para as estações cliente, crie interfaces(telas, janelas, objetos) para mostrar alarmes
utilizando link de dados, sumário de alarmes, objetos dedicados.
Figura 95
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.
Figura 96
Figura 97
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.
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.
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.
Figura 101
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.
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:
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.
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:
Figura 106
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.
Figura 107
Figura 108
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
4. Configuração nó Vista
Logical Name:
FIX_LOGI
Primary SCADA:
FIX
Backup SCADA:
FIX_RED