• Nenhum resultado encontrado

Configurações para integração entre ifix e bancos de dados relacionais

N/A
N/A
Protected

Academic year: 2021

Share "Configurações para integração entre ifix e bancos de dados relacionais"

Copied!
19
0
0

Texto

(1)

Mekatronik

Configurações para integração entre

iFix e bancos de dados relacionais

Carolina Fardo Giacomelli

Configurações para integração entre

iFix e bancos de dados relacionais

Carolina Fardo Giacomelli

Configurações para integração entre

iFix e bancos de dados relacionais

(2)

Carolina Fardo Giacomelli junho 2010  Passo 2. Configurar o DSN

 Passo 3. Criar tabelas

Primeiramente deve-se frisar que na instalação do MySQL devem ser instalados três componentes:

 O Servidor do Banco de Dados  O Administrados

 O Conector ODBC

Passo 1. Criar o banco de dados

Primeiramente é preciso criar o banco de dados. Esta etapa depende muito do banco de dados que será usado. Aqui será um banco de dados do MySQL. Esta criação é simples e pode ser vista nas figuras abaixo.

Figura 1. Ambiente MySQL

(3)

Carolina Fardo Giacomelli junho 2010 Figura 2. Detalhe da criação do BDR

Passo 2. Configurar o DSN

Agora é preciso configurar o DSN. Um DSN, ou Data Source Name é utilizado para definir dois componentes essenciais à comunicação:

1. O driver ODBC

2. A localização do servidor do banco de dados e suas tabelas.

No “Painel de Controle”, na pasta “Ferramentas Administrativas”, está o ícone de “Fontes de Dados (ODBC)”

Aqui se criará uma nova conexão ODBC com o banco de dados criado.

Figura 3. Fontes de Dados (ODBC) Clique em adicionar, procure o driver adequado...

(4)

Carolina Fardo Giacomelli junho 2010 Figura 4. Localização do driver adequado ao programa utilizado para gerenciar o BDR

...e preencha corretamente a aba a seguir.

Figura 5. Configuração da conexão ODBC

Se há alguma dúvida quanto a esses dados, o “MySQL Administrator” os fornece.

(5)

Carolina Fardo Giacomelli junho 2010 Figura 7. Teste de conexão com o banco

Pronto! Esta etapa está terminada.

Figura 8. Conexão ODBC recém criada

Passo 3. Criar tabelas

Ao menos 3 tabelas serão criadas. Tabela de dados - armazena os dados desejados

Tabela SQLLIB - armazena as instruções para as transferências do/para o banco Tabela SQLERR - registra erros durante o processo

As duas últimas são tabelas padrão do iFix e devem ser criadas segundo as seguintes especificações:

(6)

Carolina Fardo Giacomelli junho 2010 Figura 9. Tabela SQLERR

Observar os tipos de dados e tamanhos dos campos na tabela.

Nome do Campo Tipo de dado (tamanho)

td Data/Hora node Texto (8) tag Texto (10 a 30) sqlname Texto (8) fix_err Texto (100) sql_err Texto (250) prog_err Texto (100)

(7)

Carolina Fardo Giacomelli junho 2010 Figura 10. Tabela SQLLIB

Nome do Campo Tipo de dado (tamanho)

sqlname Texto (8)

sqlcmd Texto (100 a 255) Tabela 2. Campos da tabela “SQLLIB”

(8)

Carolina Fardo Giacomelli junho 2010 Figura 11. Exemplo de tabela de dados

Este é um exemplo de tabela de dados. Mais adiante será feito um exemplo utilizando blocos do iFix transferindo dados para ela.

Com esta tabela criada, encerramos esta etapa.

Passo 4. Criar consultas

Na tabela SQLLIB deverão ser inseridas as instruções para transferência de dados do e para o banco de dados relacional. Os comandos são escritos em SQL (Structure Query Language) cuja estrutura não será abordada aqui.

Importante: Deve-se certificar-se que a ordem dos tags no bloco SQD é a mesma ordem dos itens da sua consulta.

(9)

Carolina Fardo Giacomelli junho 2010 Figura 12. Inserindo o comando na tabela SQLLIB

Com o comando “Edit” acionado, é possível editar os campos da tabela. Esta é uma das formas de inserir o nome e o conteúdo do comando na tabela SQLLIB.

As interrogações no lugar dos valores indicam que este dado virá de uma conexão ODBC. Aqui, esses dados serão tags do iFix que ficaram explícitos no bloco SQD que será visto mais adiante. É importante reparar que a ordem desses dados é importante, como já foi dito mais acima, pois deverá ser igual à ordem dos tags no bloco SQD.

Passo 5. Configurar o “System Configuration Utility” (SCU)

Agora a tarefa SQL será adicionada e configurada. Será criada uma conta que permitirá uma conexão com o banco por meio do DSN previamente configurado.

(10)

Carolina Fardo Giacomelli junho 2010 Figura 13. SCU

Figura 14. SQL Accounts

Clicando em “adicionar”, aparecerá a janela para configuração da conta. No campo “Database Type” seria colocado MySQL Server se houvesse esta opção. Como não, coloca-se “outros”. E no campo “Database Identifier” coloca-se a conexão ODBC criada no Passo 2.

(11)

Carolina Fardo Giacomelli junho 2010 Figura 16. Configuração da tarefa SQL

Por último, no SCU, devemos verificar se uma tarefa foi adicionada na lista. O WSQLODC. Geralmente, ela é adicionada automaticamente junto a essas configurações. Mas, se ela não estiver lá, é preciso colocá-la.

(12)

Carolina Fardo Giacomelli junho 2010 Figura 17. SCU - detalhe da localização da lista de tarefas

Figura 18. Lista de tarefas do iFix

Para adicionar a tarefa, no caso dela não estar lá, basta seguir o procedimento simples a seguir:

(13)

Carolina Fardo Giacomelli junho 2010 Figura 19. Adicionando tarefas no SCU (I)

Figura 20. Adicionando tarefas no SCU (II)

Passo 6. Configurar os blocos SQL na base de dados do iFix – SQT e SQD

O iFix possui dois blocos que lidam com conexões com banco de dados relacionais. O SQL Trigger (SQT) e o SQL Data (SQD) e eles funcionam em cadeias.

SQT Comandos que não exigem transferência de dados, como o de remoção, por exemplo.

SQT  SQD Comandos com transferência de até 20 tags SQT  SQD  ...  SQD Comandos com transferência de mais de 20 tags.

(14)

Carolina Fardo Giacomelli junho 2010 Figura 21. Bloco SQT

OBS!: O “Confirm Tag” avisa que o comando de transferência foi executado, mas não garante que os dados foram transferidos corretamente.

SQD – esse bloco é o secundário numa cadeia com o SQT. Ele contém os dados que serão transportados e a direção do transporte, se para o banco ou do banco. Deve-se tomar muito cuidado com a ordem e o tipo de dados inseridos nesse bloco. Eles devem estar na mesma ordem que o comando na tabela SQLLIB e não deve haver inconsistência no tipo desses dados. No bloco há espaço para 20 tags. Se não for suficiente, outro bloco SQD pode ser posto em cadeia no campo “Next” do SQD.

OU

Tag digital que vai para 1 com a transferência

para o BDR Tag que disparará o

gatilho. Pode ser digital ou analógico Bloco de dados correspondente Gatilho por tempo Gatilho por evento Nome do comando configurado na tabela SQLLIB Nome da conta configurada no SCU

(15)

Carolina Fardo Giacomelli junho 2010 Figura 22. Bloco SQD

Note que a direção de transferência OUT é usada para inserir valores no BDR utilizando os comandos INSERT ou UPDATE. Já a direção IN é usada para consultar dados já armazenados no BDR trazendo-os para o iFix utilizando o comando SELECT.

Assim, quando é preciso armazenar algumas informações importantes de forma segura, como o iFix não possui tags de caráter retentivo, pode-se usar como alternativa o recurso de consultas a banco de dados relacionais.

Esse caminho do fluxo de dados é detalhado no final.

Mais uma vez, vale à pena enfatizar: A ordem dos tags devem estar de acordo com a ordem no comando SQL (e não necessariamente igual à ordem dos campos declarados na tabela) e o campo deve estar de acordo com o tipo de variável pedida pela tabela.

Figura 23. Detalhe do comando SQL na tabela SQLLIB Tags a serem

gravados no DBR

Direção da transferência: OUT – do iFix para o banco

IN – do banco para o iFix

Se forem necessários mais tags, coloca-se outro SQD em cadeia

(16)

Carolina Fardo Giacomelli junho 2010 Figura 24. Detalhe da tabela tab_teste

Note que, no dado “data_hora” pedido, foi colocado no bloco SQD a palavra chave TMDT. Existem outras que podem ser usadas:

NODENAME Nome do nó SCADA local SQTBLK Nome do bloco SQT

TMDT A hora e a data atuais

TIME A hora atual

DATE A data atual

Tabela 3. Palavras chaves que podem ser usadas nos campos do bloco SQD

Para exemplificar será feito o seguinte teste: O tag digital “COMANDO_TESTE” será usado, como já foi visto na descrição do tag SQT “SQT_TESTE”, como disparo quando seu valor for de nível baixo para nível alto. O disparo irá gerar a gravação do valor do tag analógico “VALOR_TESTE”, da data e hora e do tag que gerou o disparo na tabela correspondente no BDR.

Tipo esperado dos tags

(17)

Carolina Fardo Giacomelli junho 2010 Figura 25. Tags digital “COMANDO_TESTE” e analógico “VALOR_TESTE”

(18)

Carolina Fardo Giacomelli junho 2010 Figura 27. Mission Control

Iniciar/parar processo

Verificar conexão

(19)

Carolina Fardo Giacomelli junho 2010 Comando de leitura – SELECT

Figura 28. Fluxo na leitura

Comandos de escrita – INSERT e UPDATE

Figura 29. Fluxo na escrita Comando de remoção – DELETE

Figura 30. Fluxo na remoção Base de Dados

iFix

Banco de Dados Relac. MySQL 1 2 6 4 Gatilho SQL Dados SQL Dados SQLLIB Tarefa SQL de tempo real 3 5 Base de Dados iFix

Banco de Dados Relac. MySQL 1 2 5 Gatilho SQL Dados SQL Dados SQLLIB Tarefa SQL de tempo real 3 4 Base de Dados iFix

Banco de Dados Relac. MySQL 1 2 4 Gatilho SQL Dados SQLLIB Tarefa SQL de tempo real 3

Referências

Documentos relacionados

No caso de uma apresentação de Artigo em formato Áudio, o arquivo deverá ser enviado em CD por correio postal para:.. Comitê Editorial INFEIES - RM

No sentido de reverter tal situação, a realização deste trabalho elaborado na disciplina de Prática enquanto Componente Curricular V (PeCC V), buscou proporcionar as

A calagem tem a finalidade de corrigir a acidez do solo, elevando o pH e neutralizando os efeitos tóxicos do alumínio (Al) e Mn, concorrendo assim, para que haja um melhor

Deste modo, foi pedido a realização de umas etiquetas para uma mercearia em que era necessário colocar as mesmas nos vários setores que o cliente queria tais como: arroz,

7 Conclus˜oes A abordagem para armazenamento de dados semi-estruturados em um banco de dados relacional, descrita ao longo deste artigo, difere-se de outras abordagens [9, 12, 14,

Os aspectos geológicos foram fotointerpretados principalmente a partir da integração das informações de unidades fisiográficas, forma das vertentes (taludes convexos, concavos

Outro projeto que faz alusão ao trabalho citado anteriormente apresentando um diferencial como solução para manipulação de grande quantidade de volume de dados é

Durante o acompanhamento pré-natal, faz- se necessário o envolvimento da Equipe de Saúde Bucal (Cirurgião-Dentista, Técnicos em Saúde Bucal e Auxiliares em Saúde Bucal) juntamente