Índice
1. Introdução 2. SCU – Syst ystem em Configura Configuration tion Utili Utility ty 3. PDB – Pr Proces ocesss Da Data taBase Base 4. Workspace 5. Tag Gr Gro oups 6. Scheduler
7. Tutorial – Integr Integração ação do iFIX iFIX com Banco Banco de Dados Externo Externo 8. Tutorial – VisiconX 9. Tutorial – Configurando Redundância
Índice
1. Introdução 2. SCU – Syst ystem em Configura Configuration tion Utili Utility ty 3. PDB – Pr Proces ocesss Da Data taBase Base 4. Workspace 5. Tag Gr Gro oups 6. Scheduler
7. Tutorial – Integr Integração ação do iFIX iFIX com Banco Banco de Dados Externo Externo 8. Tutorial – VisiconX 9. Tutorial – Configurando Redundância
Introdução ao Sistema SCADA
S UPERVISORY C ONTROL A ND D ATA A CQUISITION
Sistemas de Supervisão e Aquisição de Dados. São utilizados para monitorar, supervisionar e controlar dados de processo.
Configurações Possíveis Stand Alone
Networked
Cliente
Cliente
Cliente e Servidor na mesma Máquina Servidor
Controlador Controlador
Arquitetura do Sistema
Controlador
Servidor SCADA
iFIX
iFIX Software de Automação Industrial que fornece dados em tempo real Estações
Servidor SCADA Troca dados de processo com o hardware , atualiza a base de dados e transmite dados para os clientes via rede Apresenta dados graficamente
Cliente Recebe dados dos servidores SCADA Apresenta dados graficamente
OPC OPC – OLE for Process Control Padrão de comunicação entre Hardware de Controle e Sistemas de Aquisição de Dados
Driver OPC Instalado no Servidor SCADA. Adquire dados dos Hardwares de Controle e os atualiza na base de dados do Servidor OPC
Servidor OPC (OPC Server) Disponibiliza dados para os Clientes OPC
Cliente OPC (OPC Client) Recebe dados do Servidor OPC e os atualiza na Base de Dados do iFIX
Tela de Abertura do iFIX Para iniciar o iFIX , clique no Ícone iFIX 5.0
Inicia o sistema com o arquivo de configuração selecionado em SCU File.
Inicia um sistema de demonstração que é instalado junto com o iFIX 5.0.
Seleciona o arquivo de configuração que será usado para iniciar o sistema.
Entra na interface para configuração do sistema.
Cria um Atalho para o Projeto na Área de Trabalho.
SCU – System Configuration Utility Quando o iFIX é aberto o arquivo gerado pelo SCU é lido para aplicar as configurações geradas ao projeto.
SCU – System Configuration Utility
Paths – Configuração de Diretórios : Especifica os diretórios onde ficarão os arquivos de configuração do Projeto
Alarms – Configuração de Alarmes : Permite a configuração de diversos serviços de alarme,formatação de mensagens para alarmes e configuração de áreas de alarmes
Network – Configuração da Rede : Permite a configuração da comunicação entre as Estações iFIX ( Servidores e Clientes) ou Stand Alone
SCADA – Configuração dos Drivers : Permite a configuração de Drivers de comunicação instalados na estação. (ex.: Driver OPC)
Tasks – Configuração de Tarefas : É usada para especificar as tarefas (programas ) que deverão ser iniciadas automaticamente quando O iFIX é iniciado
SCU – System Configuration Utility
Security – Configuração de Segurança : É utilizado na configuração de permissões de usuários
SQL Accounts :
Permite a configuração de comunicação com Bancos de Dados externos
Alarm Area Database: Permite a divisão dos Alarmes por Áreas
SCU – System Configuration Utility Local Startup Definition – Onde são definidas as configurações de abertura do Projeto.
Nome físico do nó Nome lógico do nó Arquivo de configuração que iniciará com o iFIX
Habilita o uso do Alias THISNODE para o nó, na configuração de telas etc.
Habilita o iFIX para continuar rodando como serviço no Windows após o log off. O iFIX continua rodando para o próximo usuário que fizer log on.
Inicia o iFIX junto com o Windows.
SCU – System Configuration Utility - Paths 1º Passo na configuração de um novo projeto
Diretório Principal , onde os
arquivos do projeto serão alocados, de acordo com organização configurada nos campos de Diretórios do Projeto.
Change Base altera
automaticamente os caminhos configurados nos campos de Diretórios do Projeto, para a base especificada em Base
SCU – System Configuration Utility - Alarms
Configuração dos serviços de alarme do projeto
Configuração da formatação padrão dos alarmes
Opções do serviço de alarme Configuração da fila de Alarmes (tamanho máximo da fila, etc)
Configuração das Áreas de Alarme
SCU – System Configuration Utility - Network
Dynamic Connections: Se
Network: No Network Support – O
selecionado, permite que o sistema se comunique somente com os nós listados na lista Configured Remote
•
sistema irá trabalhar em modo Stand-Alone TCP/IP – O sistema é configurado para trabalhar dentro de uma rede TCP/IP •
Nodes
Enforce Trusted Computing:
Habilita a rede segura, sendo necessário criar um Password para a rede. Essa configuração deve ser habilitada em todos os nós da rede.
Advanced: Chama a janela de
configurações avançadas da rede, onde são configurados os timers e a redundância de rede.
SCU – System Configuration Utility – Network / Advanced Keep Alive - Especifica o
tempo sem atividade de uma conexão antes do Client enviar uma mensagem de que está ativo.
Avaiable Paths – Caminhos de
Send - Especifica o tempo
Enable LAN Redundancy –
rede disponíveis na estação. Status – Habilita ou Desabilita
um caminho de rede a ser usado no sistema.
que o Client espera até receber do SCADA uma solicitação de reconhecimento. Caso o tempo expire, a sessão é encerrada.
Habilita a redundância de rede na estação. Accept Unknown Host – Habilita
a comunicação do SCADA com qualquer Client, caso não esteja selecionado a comunicação só será feita com os Clients listados em Hosts
Receive - Especifica o
tempo que o Client espera por uma resposta do SCADA. Caso o tempo expire, a sessão é encerrada.
Log Unauthorized Writes –
Configura o SCADA para criar um log de todas as falhas de escrita
Accept Unauthorized Writes –
Configura o SCADA para criar um log de todas as tentativas de escritas não autorizadas
SCU – System Configuration Utility – SCADA
SCADA support: Enable – SCADA Server Disable – Client •
•
Database Name : Base de
Dados (PDB) do Sistema
Configured I/O Drivers:
Lista de Drivers configurados na estação
Configurações de Redundância do sistema Lista de Drivers disponíveis na estação
SCU – System Configuration Utility – Tasks Tasks Configuration permite listar os serviços que se deseja que sejam iniciados junto com o iFIX
Arquivo a ser inserido na lista
Uma linha de comando pode ser inserida.
Modo em que serão iniciados os serviços: Minimizado Normal Background • •
•
SCU – System Configuration Utility – Security
User Accounts
Security Areas
Group Accounts
Auto Login Configuration
SCU – Syste System m Configur Configuration ation Utility – Security – Use Userr Acc Accoun ounts ts Configurações Configurações de Contas de Usuários
Tempo máximo que o usuário pode ficar logado consecutivamente. consecutivamente. Após esse tempo é feito feito log off automático e o mesmo deve fazer fazer novo log on. 00:00:00 desabilita a função. Utilizar a segurança do Windows para para logar logar no iFIX iFIX
Grupo a que pertence o usuário
Áreas de segurança que o usuário tem acesso. Ações que o usuário pode realizar
SCU – Syste System m Configur Configuration ation Utility – Security – Gro Group up Acc Account ountss Configuração Configuração dos Grupos de usuários
Nome do Grupo
Áreas de segurança a que o grupo pertence
Ações que os membros do grupo estão autorizados a realizar
SCU – Syste System m Configur Configuration ation Utility – Security – Configuration
Habilita ou Desabilita a segurança do sistema
Diretório em que ficará alocado o arquivo com as configurações de segurança do sistema
Diretório em que ficará alocado um arquivo de Backup das configurações de segurança do sistema
Utilizar o mesmo diretório configurado para alocar todos os outros perfis de Startup
SCU – System Configuration Utility – Security – Auto Login Estações em que o Login será feita de forma automática
Nome da Estação onde será implementado o Login automático
Usuário de Aplicação utilizado no Login Automático Usuário de Sistema utilizado no Login Automático
SCU – System Configuration Utility – Security – Security Areas Configuração de nomes das áreas de Segurança
Até 254 áreas podem ser configuradas
SCU – System Configuration Utility – SQL Accounts Permite configurar as contas SQL para a estação Selecionar o tipo de banco de dados e o DSN configurado para o mesmo.
Para configurar uma nova conta SQL, basta clicar em Add...
Habilita ou desabilita o suporte ao SQL.
Caminhos dos arquivos de Backup do SQL. Caso haja perda da comunicação com o banco de dados, os comandos são escritos nesse arquivo. Primeiro tenta no primário. Se não houver sucesso escreve no secundário. Database ID: DSN do banco de dados a
Configurações de Mensagens de Erro e Debug do software SQL no iFIX. Frequência de execução da tarefa
ser acessado. SQL cmd table: Nome da tabela com a
lista de comandos SQL no banco de dados a ser acessado. Error log table: Nome da tabela com a em que serão inseridos registros de erros de comunicação com a base de dados.
SCU – System Configuration Utility – Alarm Areas Database Alarm Areas Database configura o arquivo .AAD, uma lista das Áreas de Alarme do Projeto
Nome da Área de Alarme Adicionar, modificar ou Excluir Área de Alarme
PDB – Base de Dados Base de Dados – Conjunto de dados relacionados.
A Base de Dados do iFIX relaciona um TAG com suas propriedades. TAG Name – O TAG propriamente dito Type – Tipo de TAG: Entrada Digital, Saída Digital, Registro Analógico, Cálculo, etc Description – Uma descrição do TAG I/O Dev – Driver usado para fornecer valores para esse TAG I/O Address – Endereçamento do TAG no Driver
Current Value – Valor atual da variável referente ao TAG
Esses são os principais campos necessários para o funcionamento de uma comunicação com o iFIX, porém muitos outros podem ser configurados de acordo com a necessidade. Ex.: Limites de Alarmes
Database Manager Database Manager é o Editor de Base de Dados do iFIX •
Inserir, Deletar, Editar TAGs
•
Exportar a Base de Dados para um arquivo .CSV, editável no Excel
•
Importar arquivos .CSV, adicionando à Base de Dados atual
•
Filtrar a Base de Dados afim de analisar certo TAG ou grupo de TAGs
Database Manager – Adicionando Blocos (TAGs)
Clicar em Add para adicionar novo Bloco
Selecionar o Tipo de Bloco
Database Manager – Adicionando Blocos DI DI – Digital Inputs : Entradas Digitais
Aba Basic TAG Descrição do TAG I/O Driver ou Servidor OPC
Endereço no I/O Driver ou OPC: “Word : Bit”
Configuração de Scan : Só processar quando o valor muda ou processar a casa intervalo de tempo Texto que aparecerá em Current Value quando o valor for 0 ou 1
Database Manager – Adicionando Blocos DI Aba Alarms Opções de Alarme: Enable Alarming – Habilita o alarme no Bloco Enable Event Messaging – Habilita o registro de evento de mudança de estado no Bloco. •
•
Tipo de Alarme: Quando é acionado: Change of State - Na mudança de estado (de 0 para 1 ou de 1 para 0) Close – Na transição de 0 para 1 Open – Na transição de 1 para 0 None - Nunca •
• • •
Alarm Areas – À quais áreas de alarme o Bloco pertence
Database Manager – Adicionando Blocos AI AI – Analog Inputs : Entradas Analógicas Aba Basic
TAG Descrição do TAG
I/O Driver ou Servidor OPC
Endereço no I/O Driver ou OPC Configuração de Scan : Só processar quando o valor muda ou processar a casa intervalo de tempo Unidades de Engenharia: Limites e unidade de engenharia da variável analógica
Escalonamento Linear: Habilitar Escala da variável
Database Manager – Adicionand Adicionando o Blocos AI Aba Alarms
Alarm Alarm Areas Areas – À quais áreas de alarme o Bloco pertence
Alarms – Limites de Alarme
Nota: Existem diferenças diferenças entre os blocos
AI e AR (Analog Register): O Bloco AR é um Bloco de Leitura e Escrita, além de ser processado processado pelo iFIX somente quando alguma Tela em que ele está referenciado está aberta
Enable Alarming: Habilitar ou Desabilitar Alarmes
Database Manager – Bloco BOOLEAN O Bloco BOOLEAN realiza operações operações Booleanas entre blocos Digitais. Digi tais.
Inputs: TAGs dos Blocos que
serão as entradas das operações lógicas Output Calculation: Expressão
lógica à que serão submetidas as entradas. O resultado da expressão será a saída do bloco. Utilizar as letras referentes aos TAGs na elaboração elaboração da expressão.
No exemplo, utilizamos os TAGs TAGs DIGITAL_01 e DIGITAL_02 DIGITAL_02 como sendo A e B, respectivamente. A Expressão usada foi (A + B), que significa logicamente logicamente (A OR B).
Database Manager – Bloco Calculation O Bloco Calculation realiza operações matemáticas entre blocos Analógicos. Inputs: TAGs dos Blocos ou
constantes que serão as entradas das operações matemáticas. Obs.: Neste Bloco a entrada “A” é
equivalente ao TAG especificado no campo “Previous ”. Essa associação é feita no campo “ Next” do Bloco que servirá de entrada. Output Calculation: Expressão
matemática à que serão submetidas as entradas. O resultado da expressão será a saída do bloco. Utilizar as letras referentes aos TAGs na elaboração da expressão.
Database Manager – Bloco DA DA – Digital Alarm
Ack TAG: Permite que um
TAG (Analógico) seja usado para reconhecer o Alarme (<> 0). Alarm Suspend: Permite
que um TAG (Analógico) seja usado para suspender o Alarme (<> 0) quando este estiver ativo, gerando uma mensagem de alarme suspenso.
Contact Name: É possível
relacionar um TAG (Digital, em modo Manual) com o Alarme Digital. Quando o Alarme é ativado o TAG assume o valor “1”. E só assumirá o valor “0”
novamente, de acordo com a opção selecionada: Acknowledge – Quando o alarme for reconhecido Return – Quando a condição de alarme for normalizada All Clear – Quando o alarme for reconhecido e a condição de alarme for normalizada Never – Somente com a interferência do Operador •
•
Delay Time: Caso a
condição de alarme persista dentro o tempo de Delay o alarme é ativado ReAlarm Time: Tempo
mínimo antes do alarme poder ser reativado
•
•
Database Manager – Bloco MDI MDI – Multstate Digital Input
Device States: Valor da saída do Bloco MDI em cada
uma das diferentes condições de entrada. As caixas alarm , se selecionadas, geram um alarme caso a condição seja satisfeita.
Addressing: Entrar com o endereço de cada um
dos blocos digitais de entrada.
Database Manager – Bloco TT O Bloco TT – Totalizer realiza a totalização do valor de algum bloco por tempo determinado.
Previous: Tag do bloco
cujo valor será totalizado. Display Format: Número
de casas decimais consideradas. Units: Unidade de
engenharia do valor que será totalizado. Per: Unidade de tempo a
ser considerada na totalização. (HH:MM:SS)
Workspace O Workspace é o principal ambiente de trabalho do iFIX. Nele é possível: Criar telas, Schedules e alterar programas Visualizar a hierarquia dos dados do sistema •
•
Workspace – System Tree Alarm History – Histórico de Alarmes: Registro dos alarmes no sistema Database : Abre o editor da Base de Dados (Database Manager) Dynamo Sets – Dínamos: Objetos pré-animados Globals – Variáveis Globais: Permite criar e editar variáveis e tabelas que podem ser usados em todo o projeto Pictures – Telas: Diretório onde estão localizadas as Telas criadas no projeto Schedules: Programação para ação de Tags baseada em eventos ou tempo. Tag Groups – Grupos de Tags: usados em animações repetitivas.
Workspace – Barras de Menu
Botão “Switch to Run”:
Coloca o projeto em Modo de Execução
Abre o Editor do Visual Basic for Application
A janela Picture ocupa todo o espaço do monitor
Abre o assistente para criação de nova tela
Workspace – Barras de Menu
Abre o editor de Base de Dados
Abre o editor Tag Groups
Workspace – Picture •
São as telas que representam o processo que está sendo monitorado;
•
É a interface do Operador com a Planta ;
•
Nela ocorrem as animações, que dependem das condições da Planta.
Como criar nova Tela
Workspace – Toolbox
Caixa de Ferramentas com as principais Ferramentas para o desenvolvimento gráfico e dinâmico das telas.
Ferramentas de Edição Ferramentas de Desenho e Inserção de Objetos Ferramentas de Gráfico Ferramentas de Alinhamento e Posicionamento de Objetos Ferramentas de Assistentes de Animação Ferramentas de Tela Ferramentas VisiconX
Workspace – Toolbox PushButton (ou Botão) é um botão simples, ao qual pode ser atribuído um comando
ou animação Exemplo: Ao clicar no Botão o valor de um TAG Digital passa de “FALSE” para “TRUE” Objeto OLE é um objeto que é um referência de outro software Como adicionar Datalink Stamper apresenta o valor de um TAG ou status de forma numérica ou Alfa-
numérica Como adicionar Alarm Summary: Apresenta os todos os alarmes do sistema em tempo real. Como adicionar Variable: Cria uma variável que pode ser usada em diversas animações. Como adicionar Timer: Realiza alguma ação baseado em um intervalo de tempo. Como adicionar
Workspace – Toolbox
Event: Realiza uma ação baseada em um evento. Como adicionar
Bitmap: Insere uma imagem na Tela
Color: Quando algum objeto está selecionado, Color é usado para alterar as
configurações de cor do Objeto Font: Quando algum Texto está selecionado, Font é usado para alterar as configurações
de Fonte do Objeto Line Multiline Chart: Cria um gráfico em tempo real de um ou mais TAGs. Como adicionar
Workspace – Animações Objetos podem ser animados de acordo com valores de TAGs na Base de Dados
Animações de Preenchimento
Animações de Cor
Animações de Visibilidade Comandos Animações Avançadas
Animações de Movimento
Workspace – Animação Fill Percentage Esta animação permite que o objeto seja preenchido de acordo com uma variável analógica, proporcionalmente.
Fonte de dados para a animação
Definições da Direção de Preenchimento
Limites da Variavel de Entrada
Nota: A Fonte de Dados deve estar sempre no formato: SERVER.NODE.TAG.FIELD
Definições da Porcentagem de Preenchimento
Workspace – Animação Color Altera cor do Objeto Altera cor da linha de contorno do Objeto Altera cor de Fundo do Objeto Fonte de dados para a animação Define qual valor do Bloco será utilizado na animação: Valor Atual Condição de Alarme Atual Condição de Alarme Retido
Define se a cor do Objeto vai piscar quando houver um novo alarme.
•
• •
Tabela que relaciona o valor do Bloco com a cor correspondente
Opção de utilizar uma tabela predefinida.
Workspace – Animação Visible O objeto se torna visível ou não de acordo com condição especificada
Fonte de dados para a animação Especifica a condição de visibilidade do Objeto Mostra a expressão criada para a condição de visibilidade
Workspace – Comandos Ao clicar no Objeto uma ação será realizada.
Acknowledge Alarms Digital Tag Commands Picture Commands Enable/Disable Alarm Ramp Tag Value Print Crystal Report Write Value to Tag
Animações Avançadas Com essas animações é possível alterar atributos dos objetos de acordo com condições configuradas
Range – Usa um Range para animar um
objeto Table – Associa os valores da fonte de
dados com a animação desejada através de uma tabela Format – Formata a saída da fonte de
dados Object – Processa os dados da fonte de
dados exatamente como recebido. Fonte de Dados da Animação
Tag Groups O conceito de Tag Groups está associado à aplicação de variáveis genéricas, utilizadas em típicos Os Tag Groups relacionam essas variáveis genéricas (symbols) a Tags da Base de Dados (Substitutions) Tag Group Editor é a ferramenta de criação e edição de Tag Groups
Symbol – Variável
genérica, que será substituída pelo Tag correspondente em cada Tag Group Substitution – Tag ou
constante associado ao Symbol em um Tag Group O arquivo gerado tem extensão .TGD
Tag Groups
A fonte de dados da a animação é um symbol, que será substituído pelo respectivo Tag no Tag Group selecionado.
Obs.: O symbol deve aparecer entre @ quando for utilizado. Comando Open Picture com uso do Tag Group habilitado.
Scheduler Executa, de forma automática, comandos programados baseados em tempo ou eventos Pode ser executado em Foreground ou Background Foreground – O Schedule é executado em conjunto com o Workspace. Background – O Schedule é executado independentemente do Workspace.
Scheduler Configuração das Propriedades do Schedule Configuração da forma de execução do Schedule: Foreground Background •
•
Configuração da taxa de atualização da Tabela
Para que o Scheduler funcione em Background, o serviço FIXBACKGROUNDSERVER.EXE deve estar rodando. Para isso basta acessar o Task Configuration, no SCU e adicionar o serviço à lista.
Scheduler Time Based Entries – Lista de tarefas que serão realizadas em tempos programados
One Shot – O comando é realizado
uma única vez, na data e hora configurados Continuous – O comando é realizado
continuamente por um intervalo de tempo configurado Daily – O comando é realizado uma
vez por dia
Start/Stop – Inicia ou interrompe o
agendamento da ação Reset – Zera as estatísticas do
agendamento Fire Now – Executa a ação
instantaneamente
Scheduler Event Based Entries – Lista de tarefas que serão realizadas em função de eventos Nome e Descrição do Evento
Evento que gerará a ativação do comando
Comando a ser executado quando o evento acontecer
Start/Stop – Inicia ou interrompe o
agendamento da ação Reset – Zera as estatísticas do
agendamento Fire Now – Executa a ação
instantaneamente
Tutorial – Integração do iFIX com Bancos de Dados Externos O iFIX pode trocar dados com Bancos de Dados externos (SQL Server, Access, Oracle etc) através do mecanismo de transferência de dados chamado ODBC (Open Database Connectivity) utilizando comandos SQL (Structured Query Language). Para questão de aprendizado, utilizaremos o Microsoft Access para criar nosso Banco de Dados externo. Crie um novo Banco de Dados no Acces, com o nome “Unidade” . Depois crie duas tabelas com os seguintes campos: Turno_Info
Turno_Totais Nome do Campo
Tipo de Dados
Tamanho de Campo
DataHoraTurno
Data/Hora
IDTurno
Numero
DescricaoTurno
Texto
TotalAgua
Numero
Duplo
TotalAlum
Numero
Duplo
TotalLime
Numero
Duplo
TotalPolimero
Numero
Duplo
N/A Inteiro Longo 40
Nome do Campo
Tipo de Dados
Tamanho do Campo
Turno
Numero
Inteiro Longo
NomeTurno
Texto
50
InformacaoTurno
Texto
50
Tutorial – Integração do iFIX com Bancos de Dados Externos Suas tabelas devem estar parecidas com essas.
Tutorial – Integração do iFIX com Bancos de Dados Externos Para conseguirmos comunicar com o Banco de Dados devemos configurar um DSN (Data Source Name), que define dois componentes essenciais à essa comunicação: O Driver ODBC; A localização do Banco de Dados e suas Tabelas. • •
Para tanto, devemos acessar o Administrador de Fontes de Dados ODBC, através do caminho Painel de Controle\Sistema e Segurança\Ferramentas Administrativas\Fontes de Dados (ODBC)
Na aba Fonte de dados de sistema clicamos em Adicionar... Para adicionarmos um novo DSN, que será utilizado na nossa comunicação com o Banco de Dados.
Tutorial – Integração do iFIX com Bancos de Dados Externos
Selecionamos o Driver ODBC desejado. No caso, como trabalharemos com o Microsoft Access, escolheremos o driver Microsoft Access Driver.
Inserimos o nome que queremos dar ao DSN, bem como uma descrição (opcional) e em seguida clicamos em selecionar... para especificar a localização do Banco de Dados e suas tabelas.
Tutorial – Integração do iFIX com Bancos de Dados Externos
Selecionamos, então, a localização do Banco de Dados (Unidade.mdb) e clicamos em OK. Pronto! Nosso DSN Treinamento iFIX está configurado.
Nota: O Banco de Dados pode estar alocado em outra máquina na rede, normalmente um servidor, que pode ser facilmente acessado clicando no botão Rede...
Tutorial – Integração do iFIX com Bancos de Dados Externos Agora podemos testar a comunicação com o Banco de Dados, utilizando um software que é instalado junto com o iFIX, o SQL Test (SQLTODC.EXE), que é totalmente compatível com as DLLs iFIX usadas no acesso ODBC. Clique em “+” para adicionar uma nova conexão
Inserir o tipo de banco de dados
Clicar em “Login” ( não clicar em “OK”)
para iniciar a conexão
Inserir o DSN da conexão
Tutorial – Integração do iFIX com Bancos de Dados Externos Agora que já estamos conectados com o banco de dados, para trocar dados devemos utilizar comandos SQL. Com eles podemos inserir e consultar dados do banco de dados. Comando INSERT INSERT INTO tabela
(coluna1, coluna2, ..., colunaN) VALUES (Valor1, Valor2, ..., ValorN);
Note que os comandos devem terminar sempre com “;”
Insere o ValorN na coluna colunaN da tabela tabela Clicar em “+” para Habilitar
a inserção de comandos. Digite o comando e em seguida clique em “X” para
executá-lo.
Tutorial – Integração do iFIX com Bancos de Dados Externos Comando SELECT SELECT coluna1, coluna2, ..., colunaN FROM tabela1, tabela2, ..., tabelaN WHERE ;
Traz o valor da coluna colunaN, da tabela tabelaN, de acordo com o Critério
Ao usar o caractere * estamos selecionando todas as colunas.
Tutorial – Integração do iFIX com Bancos de Dados Externos Comando UPDATE UPDATE tabela SET coluna1 = valor1, coluna2 = valor2, ..., colunaN = valorN WHERE ;
Altera o valor de um registro existente, trocando-o por um novo valor.
Tutorial – Integração do iFIX com Bancos de Dados Externos Comando DELETE DELETE FROM tabela WHERE ;
Exclui um registro em tabela. A seleção do registro é feita pelo
Tutorial – Integração do iFIX com Bancos de Dados Externos Com a conexão testada podemos utilizar a comunicação via ODBC com o iFIX no nosso projeto.
No banco de dados devemos ter uma configuração especial: •
Tabelas de dados – Onde os dados são armazenados (Ex.: tabela Turno_Info);
•
Tabela SQLLIB – Onde as consultas SQL são armazenadas;
•
Tabela SQLERR – Log de erros de conexão e consulta.
Além disso, 3 componentes devem ser configurados no iFIX: •
WSQLODC (Tarefa SQL) – Tarefa que coordena a comunicação e o fluxo de dados. É configurada no
SCU (SQL Accounts) e deve ser adicionada às tarefas que iniciam junto com o iFIX (Tasks), em Background; •
Blocos SQT – Blocos de gatilho SQL. Este bloco informa à tarefa SQL qual consulta SQL executar e
quando executá-la. Blocos SQD – Blocos de dados SQL. Este bloco informa à tarefa SQL quais valores devem ser inseridos no lugar dos caracteres “?” na devida consulta SQL. •
Tutorial – Integração do iFIX com Bancos de Dados Externos Primeiro criaremos as tabelas SQLLIB e SQLERR no nosso banco de dados: SQLLIB
SQLERR
Nome do Campo
Tipo de Dados
Tamanho
Nome do Campo
Tipo de Dados
Tamanho
sqlname
texto
8
td
Data/Hora
-
sqlcmd
texto
255
node
texto
8
tag
texto
30
sqlname
texto
8
fix_err
texto
100
sql_err
texto
250
prog_err
texto
100
Tutorial – Integração do iFIX com Bancos de Dados Externos Na tabela SQLLIB insira o seguinte registro: sqlname totais
Nota: Os valores “?” serão
trocados por valores do PDB
sqlcmd INSERT INTO Turno_Totais (DataHoraTurno, DescricaoTurno, TotalAgua, TotalAlum, TotalLime, TotalPolimero, IDTurno) VALUES (?, ?, ?, ?, ?, ?, ?);
A tabela SQLERR será preenchida pelo sistema quando houver erros de comunicação ou consulta.
Tutorial – Integração do iFIX com Bancos de Dados Externos Configurações da tarefa WSQLODC.EXE
Configurar a conta SQL, no SCU, com os parâmetros do nosso tutorial. (Como visto anteriormente)
Adicionar a terefa WSQLODC.exe às tarefas que iniciarão juntamente com o iFIX, em Background, na opção Tasks do SCU.
Tutorial – Integração do iFIX com Bancos de Dados Externos Para este tutorial devemos criar alguns blocos para simularmos os valores que serão inseridos em nosso banco de dados.
Tutorial – Integração do iFIX com Bancos de Dados Externos Depois devemos incluir os blocos SQT e SQD no PDB Bloco SQT – SQL Trigger
Entrar com o nome do bloco
O SQT é um bloco primário, portanto deve-se selecionar um bloco SQD, que conterá os dados que serão enviados.
Entrar com uma descrição para o bloco Entrar com o “sqlname ” da consulta especificada na sua tabela SQLLIB
Caso queira que o gatilho seja ativado de acordo com tempo, preencha com o tempo inicial, com o tempo final e com a frequência com que é ativado o gatilho.
Entrar com o DSN do banco de dados onde está localizada a tabela SQLLIB Caso queira que o gatilho seja ativado de acordo com um evento, preencha com o tag.field ( no caso, TESTE1.F_CV será o gatilho) e o Tipo de Evento. Caso contrário, deixe em branco.
Tutorial – Integração do iFIX com Bancos de Dados Externos Bloco SQD – SQL Data
Entrar com o nome do bloco
Entrar com uma descrição do bloco
O bloco SQD é um bloco secundário, logo aparecerá o nome do bloco anterior a este na cadeia. Normalmente um bloco SQT (primário).
Caso o número de variáveis ultrapasse 20, pode-se encadear mais blocos SQD, preenchendo este campo com o nome do bloco.
OUT – Escrita de dados no banco de dados IN – Leitura de dados do banco de dados
Entrar com o TAG e o campo dos blocos com os dados que se quer enviar ao banco de dados na ordem correta em que foi configurada a consulta SQL
Tutorial – Integração do iFIX com Bancos de Dados Externos
Botão de comando – Altera o valor do tag TESTE1 de 0 para 1
Os valores dos totalizadores do PDB são passados para os devidos campos no banco de dados externo (Access).
Tutorial – VisiconX VisiconX é um conjunto de ferramentas criadas para fazer a configuração gráfica de conexões com
bancos de dados externos. O VisiconX é composto de 4 controles:
•
Data Control – Responsável por conectar-se ao banco de dados , enviar consultas SQL
e gerenciar a troca de dados com o banco de dados;
•
Grid - Mostra dados do banco de dados de forma tabular (linhas e colunas);
Tutorial – VisiconX
•
ListBox – Mostra dados do banco de dados em uma interface estilo painel
•
ComboBox – Mostra dados do banco de dados em uma lista suspensa.
Tutorial – VisiconX Neste tutorial demonstraremos como implementar o VisiconX numa aplicação do iFIX, com a finalidade de adquirir dados de um banco de dados externo ao iFIX ( no caso, um banco de dados Access). Para tanto utilizaremos o banco de dados e o DSN (Treinamento iFIX), criados no tutorial anterior. Utilizaremos o Grid para mostrar os dados exportados para a tabela de totais do banco de dados externo. Também utilizaremos um ComboBox para selecionar na tabela de informações de turnos, o filtro dos registros que aparecerão no Grid. Para isso necessitaremos de dois Data Control. 1 – Criar o primeiro Data Control
2 – Configurar o Data Control Clicar 2 vezes no objeto para iniciar a configuração.
Tutorial – VisiconX A janela Propriedade de VisiconXData se abrirá, na aba Provider
Escolha o provedor de dados que deseja utilizar. Como já temos um DSN configurado, escolha o Microsoft OLE DB Provider for ODBC Drivers.
Caso não houvesse um DSN configurado a escolha preferencial seria pelo Microsoft Jet 4.0 OLE DB Provider.
Siga para a aba Database
Tutorial – VisiconX
Selecione o nome do DSN configurado para o banco de dados, no caso o Treinamento iFIX . Caso tenha escolhido o Microsoft Jet 4.0 OLE DB Provider a informação a ser inserida seria o path do banco de dados. Depois clique em Test Connection para testar a conexão com o banco de dados.
Siga para a aba Record Source
Tutorial – VisiconX Nessa aba será configurada a consulta SQL
Clique em Run SQL Wizard para iniciar o assistente de configuração da consulta SQL.
Como queremos obter dados do banco de dados devemos clicar na opção SQL Select.
Tutorial – VisiconX
Selecione de quais tabelas deseja obter os dados que aparecerão no seu objeto VisiconX. Escolha a tabela Turno_Info, pois estamos configurando o que aparecerá no ComboBox. Clique em Next.
Selecione agora, qual campo da tabela será usado para preencher o ComboBox. Em nosso caso escolheremos o campo NomeTurno. Selecione a caixa Return Unique Rows para não retornar registros repetidos. Clique em Next.
Tutorial – VisiconX
Nessa janela é feita a configuração de filtros para os registros que serão disponibilizados. Como não utilizaremos nenhum filtro para esse Data Control, deixe essa opção em branco. Clique em Next.
Nesta outra janela é feita a configuração da ordenação em que aparecerão os dados. Selecione NomeTurno e in Ascending Order , para ordenar de forma crescente. Clique em Next.
Tutorial – VisiconX Ao final, chegamos nesta janela, quem mostra a consulta SQL gerada pelo assistente. Clique em OK para finalizar.
Note que na aba Record Source, nossa consulta SQL aparece em um espaço reservado. Caso não queira usar o assistente e prefira escrever o código, esse espaço pode ser utilizado. Clique em OK e a configuração do Data Control estará finalizada.
Tutorial – VisiconX 3 – Criar o ComboBox
4 – Configurar o ComboBox
Clicar 2 vezes em cima do ComboBox para configurar sua aparência. Configure a fonte e as cores do objeto.
Tutorial – VisiconX 5 – Animar o ComboBox Clique com o botão direito no ComboBox e em seguida clique em Animations... A janela Animations abrirá. Clique em Advanced Animations.
Vá para a aba Behavior e selecione a caixa ADORecords, que são os dados que serão obtidos do banco de dados para preencher a lista do ComboBox.
Tutorial – VisiconX Primeiro selecione Object na opção Data Conversion.
Depois clique para selecionar o RecordSet do Data Control
Na aba Pictures, selecione a tela onde se encontra o Data Control configurado e procure pelo mesmo.
Tutorial – VisiconX
Em Objects selecione o Data Control configurado e em Properties selecione ADORecords. Clique em OK e o ComboBox estará animado com registros do banco de dados externo.
Tutorial – VisiconX 6 – Criar o segundo Data Control, que fornecerá dados para o Grid
7 – Configurar o DataControl, porém dessa vez com um filtro relacionado à seleção do ComboBox Realize os mesmos passos feitos na configuração do Data Control anterior, até chegar no assistente de consulta SQL.
Como queremos registros do banco de dados para preencher o Grid, usaremos novamente uma consulta SELECT.
Tutorial – VisiconX
A tabela a ser selecionada é a Turno_Totais , onde estão as informações de nossos totalizadores. Clique em Next
Selecione agora, os campos que aparecerão no Grid. Porém dessa vez a opção Return Unique Rows deve ficar desabilitada, pois queremos todos os registros em nosso Grid. Clique em Next
Tutorial – VisiconX Dessa vez queremos filtrar os valores que receberemos . Para que esse filtro seja feito a partir de valores selecionados no ComboBox, devemos definir um filtro atrelado à uma variável (QP1) e atribuir à essa variável o valor do ComboBox (será feito adiante). QP1 será comparado aos valores existentes no campo selecionado. Então utilizaremos o campo DescricaoTurno, com o operador is/does equal to QP1
Agora selecionamos o critério de ordenação do nosso Grid. Como queremos ver os valores mais atuais primeiro, selecionamos o campo DataHoraTurno , de forma decrescente, selecionando também in Descending Order
Tutorial – VisiconX
Conferimos a consulta SQL. Clicando em OK o Data Control está configurado.
8 – Atribuir valor à QP1
Entre em Advanced Animations do Data Control e vá para a aba Query .
Tutorial – VisiconX
Selecione para atribuir valor a QP1 Selecione Object na opção Data Conversion. Depois clique para selecionar o RecordSet do Data Control
Selecione a tela onde se encontra o ComboBox. Selecione o ComboBox em Objects. Selecione Text em Properties.
Tutorial – VisiconX 9 – Criar o Grid
10 – Configurar o Grid
Clicar 2 vezes e configurar a fonte e as cores
11 – Animar o Grid
Exatamente como a animação para o ComboBox, porém selecionando do devido Data Control.
Tutorial – VisiconX
Tutorial – Configurando Redundância A redundância de Servidores do iFIX 5.0 se chama Enhanced Failover
Redundância SCADA Redundância LAN
Client (FIX_3) LAN 1
LAN 2
SCADA 1 (FIX_1)
Rede Dedicada
SCADA 2 (FIX_2)
Tutorial – Configurando Redundância Ambos SCADAs devem ter nome de nó lógico idêntico e nomes de nós físicos únicos na rede. As nomeações do nó são feitas na janela Local Startup no SCU.
Tutorial – Configurando Redundância Para o Enhanced Failover funcionar devemos habilitar seu uso na Janela SCADA do SCU em ambos os SCADAs
Selecionar o campo Enable para habilitar a redundância. Se for Primário insira o nome do nó Secundário. E vasco versa
Defina se o nó é Primário ou Secundário
Tutorial – Configurando Redundância
Data Sync Transport – É a janela onde se definem as configurações da sincronização entre os SCADAs
Habilita a placa de rede para uso na sincronização com o SCADA secundário. Preencher com o endereço IP do par SCADA.
Tutorial – Configurando Redundância No Client a opção SCADA Support deve estar desabilitada.
Tutorial – Configurando Redundância Para o Client se comunicar com o nosso sistema SCADA redundante devemos adicioná-lo ( o sistema redundante) como nó remoto nos SCADAs e no Client
Digite os Node Names dos nós Primário e Secundário
Digite o nome do nó lógico e... Clique em Configure...
Nota: Repita o procedimento em todas máquina da rede, tanto Servers quanto Clients.
Tutorial – Configurando Redundância Ainda na janela Network Configuration podemos configurar um outro tipo de redundância, a Redundância de Rede (LAN Redundancy)
Habilite os caminhos que farão parte da redundância.
Marque a caixa Enable Lan Redundancy.
Tutorial – Configurando Redundância Devemos também alterar o arquivo Hosts do Windows, mapeando os IPs dos Hosts C:\Windows\System32\drivers\etc\Hosts
Adicione os SCADAS e os Clients e seus respectivos IPs.
Tutorial – Configurando Redundância A ferramenta SCADASyncMonitor.exe é utilizada para o diagnóstico da sincronização entre os SCADAS. Ela está localizada na pasta de instalação do iFIX.