• Nenhum resultado encontrado

4.3 Projeto SONIC

4.3.8 Unidade de Processamento Central

A unidade de processamento central, geralmente localizada numa sala de controle, é integrada à rede local de supervisão para que os dados disponibilizados sejam visualiza- dos.

Nessa unidade encontra-se um aplicativo servidor responsável por rotear as requisi- ções do cliente, um software de supervisão que é o aplicativo cliente, reponsável por requisitar dados ao servidor e apresentá-los através de uma interface amigável.

Essa unidade no projeto consiste em um micro, onde estão instalados o servidor que converte o protocolo Modbus em protocolo DDE, e o aplicativo InTouch que consiste no software de supervisão e requisita dados ao servidor, apresentando de forma amigável esses dados e a abstração do processo de interesse.

4.4

Conclusão

Inicialmente neste capítulo foi apresentado o sistema de detecção de vazamentos base- ado em identificaçao de padrões, onde o algoritmo de detecção extrai descritores do sinal capturado podendo ser usado transformada wavelets para isso, confrontado os mesmos com perfis de vazamento.

O resultado dessa comparação foi avaliado de acordo com limites que indicarão ou não a existência de vazamento no duto monitorado.

Quando identificado um vazamento é possível localizar o mesmo através dos tempos que os sensores localizados nas extremidades do duto sentem o sinal de vazamento.

Também foi exposta a detecção acústica de vazamentos, visto que ocorrem frentes de onda quando existe um vazamento, podendo essas serem capturadas pelos sensores nas extremidades no duto.

Foi apresentado o objetivo do projeto SONIC que usa a detecção de vazamentos ba- seado em identificação de padrões com a detecção acústica, bem como a descrição dos respectivos equipamentos empregados na arquitetura do projeto.

Sistema Proposto

A monitoração de dutos através de sistemas computacionais visa principalmente a detecção de vazamentos, que é um fator essencial na operação de dutos de petróleo.

Este tipo de monitoração permite uma operação mais confiável e contribui para uma melhor proteção do meio ambiente.

Outro fator importante no emprego de sistemas computacionais na detecção de vaza- mento em dutos de petróleo é a maior rapidez com que essa informação é disponibilizada, fazendo com que diminua o tempo para o reparo do duto danificado.

A importância de sistemas desse tipo vem aumentando devido ao envelhecimento da infraestrutura de dutos e à grande malha de dutos existentes no país e no mundo e sua projeção de crescimento, visto que o transporte de fluidos por meio de dutos é um meio econômico para o deslocamento e distribuição de fluidos.

Existe uma contínua busca de sistemas mais confiáveis que aumentem a segurança, diminuindo os riscos ao meio ambiente e não afetando a produção por fechamento de dutos devido a alarmes falsos.

Para a implementação do projeto de forma compacta foi utilizada a planta do LAMP pertencente à UFRN. Esta planta propicia a otimização do sistema devido à logística que é necessária para os testes de vazamento no duto da Petrobrasr.

O fator logística para os testes é um grande gargalo porque acarreta em deslocamento de pessoal, caminhão sugador, manifold com vários diâmetros e etc.

O LAMP possui dois tanques (um auditor e outro misturador) de armazenamento de fluidos que são interligados por dutos, estes possuindo pontos de medição de pressão e pontos para simular vazamento.

As características do duto monitorado são elencadas a seguir: • A pressão do fluído no duto: 0 à 3 bar;

• Diâmetro Nominal: 3"; • Espessura: 5,49 mm;

• Vazão: varia de 1 à 12 m3/h;

• Comprimento do duto monitorado: 14,36 m.

Nesse duto foram instalados dois sensores piezoresistivos, um em cada extremidade da região do duto monitorado para a realizaçãos dos testes.

Esses sensores de tecnologia sônica são empregados para capturar ondas de baixa freqüência, sendo essas manipuladas pelo DSP.

Esses sinais são processados localmente pelo DSP que envia através da rede de comu- nicação para o software de supervisão dados concisos, onde este mostrará informações pertinentes ao usuário.

A arquitetura do sistema é mostrada na Figura 5.1.

Essa troca de informações entre o DSP e o supervisório através de uma rede de co- municação e a visualização no supervisório do que está ocorrendo no duto monitorado, e quando na existência de um vazamento informar na tela do supervisório a localização do ponto de vazamento é a proposta deste trabalho.

A aplicação de fundamentos teóricos em um campo de prova beneficia o desenvolvi- mento tecnológico, permitindo ajustar um projeto às condições encontrada na prática.

Sensor 1 Sensor 2 Circuito condicionador DSP Conversor EIA232/EIA485 Conversor EIA485/Ethernet

EIA232 (Modbus RTU) EIA485 (Modbus RTU) Ethernet (Modbus RTU)

Switch

4-20mA 4-20mA

0-3V GPS

SUPERVISÓRIO

5.1

Modbus embarcado em DSP

O protocolo Modbus RTU, por causa de sua facilidade de implementação e o seu con- sumo de pouca memória, fator essencial devido à grande necessidade de processamento dos algoritmos de detecção de vazamentos no DSP, foi o usado neste trabalho.

Então no DSP foi embarcado o protocolo Modbus RTU, que basea-se no mecanismo de comunicação mestre/escravo, para disponibilizar informações para a unidade central.

Nesse mecanismo a unidade mestre tem a competência exclusiva de iniciar a transa- ção através do canal de comunicação, podendo endereçar uma mensagem para um único escravo ou para vários escravos ao mesmo tempo.

Somente a estação escrava a qual a mensagem se destina deve forncecer os dados requisitados pela unidade mestre ou realizar uma ação requisitada na transação. Portanto nesse ciclo a comunicação é determinística.

A linguagem de programação de alto nível compilada C, que facilita a criação de programas, utiliza o paradigma de programação procedimental, fornece um sistema de tipos de dados e outras características, é a destinada a desenvolver os códigos que são embarcados no DSP.

Para embarcar o protocolo, foram declaradas quatro variáveis do tipo float, duas que armazenam as pressões dos sensores piezoresistivos, e duas que armazenam os tempos, fornecidos pelo GPS, que cada sensor reagiu à mudança da pressão no duto por um vaza- mento.

Também foi declarada uma variável do tipo booleana contendo flags que indicam informações quanto à ocorrência de um vazamento.

As seguintes funções foram implementadas no programa:

writeData Essa função é utilizada para escrever dados na porta serial;

CRC16 Essa função retorna o valor calculado do CRC em relação a um quadro; float2bytes Essa função converte um tipo float em bytes e retorna este;

bool2bytes Essa função converte um tipo bool em bytes e retorna este; volttobar Essa função converte volts em bar;

sciaRxFifoISr Esta é uma função de interrupção de recepção de dados pela porta serial SCI-A;

scia_fifo_init Esta função inicializa uma estrutura do tipo FIFO (First In First Out) que é usada pela porta serial SCI-A;

scia_xmit Essa função é empregada para transmitir dados pela porta serial SCI-A. No embarque do protocolo Modbus, os seguintes códigos do campo de função apre-

sentados no Quadro 5.1 foram utilizados.

Função Descrição

0x03H Lê o conteúdo de registradores de uso geral.

0x05H Escreve na saída discreta o valor ON ou OFF.

0x06H Escreve um valor em um único registrador de uso geral.

0x10H Escreve valores em uma sequência de registradores de uso geral. Quadro 5.1: Funções utilizadas do Modbus.

E no caso de ocorrer alguma exceção, os seguintes códigos mostrados no Quadro 5.2 foram empregados.

Exceção Descrição

0x01H Função inválida

0x02H Registrador inválido

0x03H Valor do dado inválido

0x05H Estado de Espera

Quadro 5.2: Exceções empregadas do Modbus.

Na implementação da função que calcula o valor do CRC para minimizar o tempo gasto nesta operação, foram criadas duas tabelas de 256 bytes cada uma.

Essas tabelas contêm todas as possíveis combinações tanto para o byte de maior ordem quanto para o de menor ordem do registrador CRC. Então é realizado o cálculo do valor através de indexação de seus valores.

O procedimento para a geração do valor do CRC desta forma é descrito a seguir, (ALFA INSTRUMENTOS, 2000):

1. Carrega-se um registrador CRC+ com FFH e outro registrador CRC- com FFH; 2. As tabelas referenciadas como tab CRC+ e tab CRC- devem estar previamente pro-

gramadas com os respectivos valores de combinação;

3. Submete-se o byte da mensagem a uma lógica XOR com o conteúdo do registrador CRC+, retornando o resultado em uma variável de 8 bits referenciada como index; 4. Submete-se o valor da tab CRC+, indexada pela variável index, a uma lógica XOR com o conteúdo do registrador CRC-, retornando o resultado no registrador CRC+; 5. Carrega-se o registrador CRC- com o valor da tab CRC-, indexada pela variável

index;

6. Repete-se os itens 3 à 5 até que todo o conteúdo da mensagem tenha sido analisado; 7. Após este processo, os registradores CRC+ e CRC- já possuem os respectivos va-

O processo de comunicação é realizado da seguinte forma: o DSP fica esperando uma solicitação do mestre e quando é requisitado, o quadro, Quadro 5.3 ou Quadro 5.4, é armazenado em uma variável, sendo verificado o campo do checksum do quadro, no caso o CRC.

Sendo o campo CRC correto, são verificados os campos do dispositivo e da função. Se o campo da função é de leitura, os dados de pressão dos sensores PI001 e PI002, os dados de tempos destes, e as flags são capturados e convertidos em bytes.

Após a conversão dos dados em bytes, começa a montagem do quadro, Quadro 5.5 ou Quadro 5.6 , de envio de resposta para o mestre, contendo a identificação do dispositivo, a função, a contagem de bytes, os dados, e o CRC, sendo então disponibilizada a informação na rede.

Então o DSP fica aguardando uma nova solicitação do mestre para que seja refeito todo o processo descrito.

Nome do campo Valor (hexa)

Endereço do escravo 01H Função modbus 03H Endereço inicial (+) 00H Endereço inicial (-) 00H N.◦de registradores (+) 00H N.◦de registradores (+) 09H Checksumcaracter 1 85H Checksumcaracter 2 CCH

Quadro 5.3: Exemplo de quadro de dados de leitura enviado pelo mestre.

Nome do campo Valor (hexa)

Endereço do escravo 01H Função modbus 06H Endereço inicial (+) 00H Endereço inicial (-) 00H N.◦de registradores (+) 00H N.◦de registradores (+) 01H Checksumcaracter 1 48H

Checksumcaracter 2 0AH

Nome do campo Valor (hexa) Nome do campo Valor (hexa)

Endereço do escravo 01H Dado do 6◦registrador (+) 40H

Função modbus 03H Dado do 6◦registrador (-) 20H

Byte Count 12H Dado do 7◦registrador (+) 00H

Dado do 1◦registrador (+) 00H Dado do 7registrador (-) 00H

Dado do 1◦registrador (-) 00H Dado do 8registrador (+) 40H

Dado do 2◦registrador (+) 3FH Dado do 8registrador (-) 00H

Dado do 2◦registrador (-) C0H Dado do 9registrador (+) 00H

Dado do 3◦registrador (+) 00H Dado do 9registrador (-) 05H

Dado do 3◦registrador (-) 00H Checksumcaracter 1 6EH

Dado do 4◦registrador (+) 3FH Checksumcaracter 2 95H

Dado do 4◦registrador (-) 80H

Dado do 5◦registrador (+) 00H

Dado do 5◦registrador (-) 00H

Quadro 5.5: Exemplo de quadro de dados de leitura enviado pelo escravo.

Nome do campo Valor (hexa)

Endereço do escravo 01H Função modbus 06H Endereço inicial (+) 00H Endereço inicial (-) 00H N.◦de registradores (+) 00H N.◦de registradores (+) 01H Checksumcaracter 1 48H

Checksumcaracter 2 0AH

Quadro 5.6: Exemplo de quadro de dados de escrita enviado pelo escravo.

Documentos relacionados