segunda-feira, 24 de novembro de 2014

[II SBEQ] LabView® - UMA FERRAMENTA ESSENCIAL PARA ENGENHEIROS E PESQUISADORES - SÉRGIO MAGALHÃES FILHO (LEF/UFRRJ)

Sérgio da Cruz Magalhães Filho
Formação:

- Engenheiro Químico, graduado pela UFRRJ; Pós-graduação nível mestrado incompleto, previsão de término em 2014.

Áreas de atuação:

 - Pesquisa e desenvolvimento;
Há quatro anos atuo nos estudos de hidráulica de perfuração de poços de petróleo, desenvolvendo sistemas de automação e monitoramento remoto das propriedades físico-químicas dos fluidos de perfuração.

- Projetos de automação industrial;

Há quatro anos atuo no segmento industrial desenvolvendo projetos de automação de plantas industriais e prestando consultoria.

- Desenvolvimento de softwares para pesquisa, ensino e indústria;

Há um ano comecei a colocar no mercado softwares desenvolvidos em linguagem LabView® para auxiliar engenheiros e professores no ensino e simulação de processos.

Principais prêmios do profissional:

- Prêmio INVENTOR 2014, Petrobras;

Prêmio concedido pela Petrobras pelo depósito da patente: “Sistema e Medidor On-Line de Estabilidade Elétrica de Fluido de Perfuração”.

- Prêmio no concurso Student Poster Contest;
Premiado com o primeiro lugar durante o concurso, na categoria pós graduação, realizado durante o V Encontro Nacional de Hidráulica de Poços de Petróleo e Gás, realizado em Teresópolis, em 2013. Maiores informações www.enahpe2013.com.br

Para maiores informações ou contato visite www.sergiomagalhaes.eng.br

"O LabView® é um software de licença paga, comercializado pela empresa multinacional National Instruments. É um produto destinado a engenheiros, pesquisadores e cientistas no intuito de facilitar a interface homem-máquina, agregando quatro elementos fundamentais: 1°: possui um código de linguagem intuitivo, acelerando o processo de aprendizagem, 2°: disponibiliza uma forma gráfica de interatividade em tempo real, 3°: possui bibliotecas prontas de operações matemáticas, estatísticas e de modelagem, fazendo com que o tempo de escrita do código seja reduzido e 4°: possui pacotes prontos de drivers para comunicação com hardwares.
 

Vamos entender melhor cada uma das quatro vantagens citadas acima. Todo programador deve fundamentalmente conhecer a sintaxe do seu respectivo programa, ou seja, a linguagem de comunicação entre homem e software. Existem diversas linguagens: C++, Java, Fortran, Matlab®, Maple®, e todas elas possuem seus próprios códigos, maneiras singulares de se impor um comando. Por exemplo: no Maple® vamos escrever um contador de 1 até 10 e pedir que o programa pare quando o valor chegar a 5, a transcrição desta ideia em um comando seria:


Perceba que sem o conhecimento da linha de comando, ou seja, sem a sintaxe característica o programa nunca executará a ação desejada. No LabView®, a sintaxe não é baseada em linha de comando, e sim em diagramas, veja a seguir como seria a escrita do mesmo comando.


O símbolo quadrado, parecido com um conjunto de folhas executa o mesmo comando for da linguagem apresentada para o Maple®, o número nove informa que ele deverá ser executado nove vezes, além da primeira iteração. O símbolo “i” é o contador da iteração. Perceba como a linguagem é intuitiva, não é necessário explicar que quando o contador passar o número 5 para o símbolo de “maior que” (quinta iteração, os números são passados pelas linhas), o mesmo será comparado com o número de baixo, que também está interligado na caixa. Quando o número de cima for maior que o número de baixo, o sinal que será repassado será “True”, ou seja, verdadeiro, isso “apertará” o botão de desenho universal, que significa “stop”, parando o loop. E aqui eu pego o gancho para a segunda vantagem, a interface gráfica.

Imagine que agora eu precise que o loop dê oito passos. Se eu estivesse no Maple® eu teria que refazer o programa, alterando o valor dentro do condicional if, de 4 para 7. Ou seja, inevitavelmente haveria a parada do programa, mudança do valor e posterior recomeço, o que muitas vezes não é viável em termos operacionais. Já no LabView® eu consigo alterar esse valor em tempo real, por meio de uma interface homem-máquina. 

Mas antes de demonstrar isto, é preciso entender que o código em si é escrito na tela chamada tela do programador, e paralela a ela existe a tela do operador. Ambas possuem relação entre si. Eu posso na tela do programador criar entradas gráficas que aparecerão na tela do operador, abrindo assim uma espécie de janela para entrada de valores ou comandos. Veja abaixo um exemplo:


À esquerda está a tela do programador e à direita a tela do operador. Perceba que no código ainda não foi inserido nenhuma entrada para o operador. Vamos substituir o número 4 por uma entrada de usuário, e para que o código rode infinitamente, tornando as mudanças em tempo real, vamos efetuar algumas alterações.


O loop for foi substituído pelo loop while, para que se repita até que o botão “Terminar iteração” seja pressionado. Perceba que este botão existe como entrada do usuário no painel do operador. Ao clicar com o mouse neste botão, passa-se o comando True para o código, executando o botão stop do loop. Também foram adicionados a “Entrada do Usuário” e o “Número de passos dados”. Na entrada do usuário ele pode alterar o valor a qualquer momento que o código se adaptará, assim como na saída ao usuário ele pode verificar em que passo o loop está. Desta forma, a administração do seu código se torna mutável, sem a necessidade de paradas. E mais importante, por meio de uma interface intuitiva, não é necessário explicar a ninguém aonde se deve colocar os números, tão pouco mostrar aonde se lê a posição do loop

Veja a seguir um código feito por mim para cálculos termodinâmicos. Perceba que ao olhar você não fica totalmente perdido em relação ao uso do software, diferentemente se esse mesmo código fosse representado por inúmeras linhas de comando sem significado cognitivo nenhum.




No programa acima você deve informar os dados das pressões de vapor das substâncias puras contidas na mistura a ser analisada, bem como suas constantes de van der Waals, se o modelo de vdW for requerido, e a temperatura e constante dos gases a serem utilizados. Depois, ao informar os dados de equilíbrio líquido vapor, o programa calculará os parâmetros de interação binária por vários modelos matemáticos diferentes (Wilson, Margules, van der Waals e van Laar)

Esse exemplo elucida o terceiro ponto importante aos engenheiros e pesquisadores. Neste caso eu utilizei uma biblioteca pronta para requerer a regressão não linear dos dados experimentais inseridos pelo usuário. Veja o código:


Cada linha representa o transporte de uma variável: linhas rosa são representativas de textos; linhas laranja espessa são vetores; linhas marrons são clusters e linhas verdes são lógicas booleanas (True / False). À esquerda, em rosa, está a equação a ser regredida, entrando na biblioteca que está dentro de uma estrutura de casos, que no momento está executando o bloco “Falso”. Além da equação estão nomeados os parâmetros a1 e a2 a serem regredidos. As linhas laranja são os vetores de dados experimentais e a linha marrom as condições de contorno da regressão. À direita está a saída dos melhores parâmetros encontrados para minimizar a função erro, que foi a de mínimos quadrados (valor observado – valor predito)². Em um simples espaço eu executei um comando em tempo real, auto-adaptativo, que demandaria muitas linhas de comando em um software baseado em sintaxe de comandos.

E por último, e talvez mais importante, é a capacidade de comunicação a hardwares que o software contém, de maneira simples, tipo plug and play. Você pode comunicar utilizando as placas eletrônicas da própria National Instruments ou utilizando placas PCI ou USB genéricas. Não adianta apenas conter o código virtualmente, é preciso que esta lógica efetue comandos reais em plantas ou unidades de processamento ou produção. É preciso que o “cérebro virtual” que gera os comandos, controle e monitoramento também atue de forma real sobre os sistemas culminando em aplicações de gestão de dados, banco de dados, monitoramento remoto de variáveis e controle de processos. Em minha planta de automação, destinada a medir em tempo real as propriedades físico-químicas de fluidos de perfuração, meu código não somente recebe informações das máquinas, mas também as devolve em forma de controle e comando, garantindo assim o funcionamento remoto de todos os sensores. Como fazer? Veja o primeiro exemplo: este é um código que fiz para monitorar remotamente a curva de filtração (massa de fluido que deixa a câmara de filtração em função do tempo decorrido de teste) em uma célula de filtração de bancada.


Como o dado da balança entra no programa? Veja na parte superior esquerda a seleção de qual porta da placa mãe de seu computador deverá ser usada para captura do sinal. Simplesmente selecione a porta correta (porta a qual você conectou a balança) que o programa irá capturar o sinal e informá-lo na saída ao usuário descrita como “Massa de filtrado (g)”. Onde está o driver? Veja no código:


E onde está a balança? Veja abaixo, balança com saída USB normal entrando no computador, à direita.



Em uma situação menos específica, como o gerenciamento de plantas industriais, o mais comum é encontrar inúmeras entradas e/ou saídas digitais, analógicas ou até mesmo um misto delas. Neste caso, usa-se placas compatíveis com tais aplicações e escreve-se o driver como feito anteriormente. Caso o engenheiro ou pesquisador opte pelas placas da própria National, não terá o trabalho de escrever os drivers, uma vez que os mesmos já vem inseridos no pacote do software LabView®. Veja um exemplo das placas e do driver:  


Na foto acima todos os fios trazem e/ou levam informações para os equipamentos (bombas, agitadores, viscosímetro, motores de passo, condutivímetro, analisador de partículas, analisador de teor de água etc.). Todos estes sinais convergem no chassi (em branco) que reúne as informações em um único sinal, que é enviado ao computador e consequentemente ao LabView®, por USB, cabo Ethernet (RJ-45) ou wireless. Existe também a versão em que o próprio computador é embarcado no chassi, dispensando assim o uso de Desktops ou Laptops, rodando o código em ambiente operacional próprio, ao invés de Windows, Mac ou Linux. 

Veja a seguir como estes sinais, que neste caso específico estão entrando no computador por uma porta USB qualquer, saem na tela do programador:


Basta o usuário selecionar a caixa “DAQ Assistant”. Neste momento um Wizard (interface de guia passo a passo) irá se abrir pedindo que informe quais placas quer usar, quais canais, que tipo de sinal etc. Tudo muito simplificado para que até mesmo um leigo consiga, sem perder várias horas de estudo, fazer uma aquisição de dados remota.

Na aplicação acima, todos os sinais entraram combinados, depois sofreram a separação e cada um seguiu para o tratamento devido. Veja parte do código onde esta aquisição está inserida. Esse código é o programa que foi feito para o gerenciamento da planta de automação de fluidos de perfuração, que se encontra no Laboratório de Escoamento de Fluidos Giulio Massarani, no Instituto de Tecnologia da UFRRJ.


Este software é capaz de gerir todos os dados simultaneamente, acumulando e formando um banco de dados de todas as propriedades físico-químicas do fluido em bombeamento. Ele expõe, ao longo do tempo, o histórico das propriedades em forma de gráficos, monitora e controla a pressão das linhas hidráulicas, a vazão volumétrica e a temperatura do fluido. Controla e comanda os sensores para que executem testes em tempos determinados ou sempre que algum evento pré-estabelecido ocorrer, por exemplo, o programa executará testes de viscosidade toda a vez que a temperatura se alterar em mais de 10°C, ou quando a razão da mistura água e óleo do fluido se alterar em mais de 20%.


Ao agregar os quatro fundamentos citados acima em um só programa, o LabView® tornou-se uma ferramenta importante que melhora e torna o trabalho do engenheiro e/ou pesquisador mais produtivo, aumentando em muito as expectativas sobre a qualidade e até mesmo quantidade de objetivos a se cumprir. Unindo as ferramentas do software à imaginação do homem, as possibilidades são muitas, seja na indústria ou pesquisa científica."

Nenhum comentário:

Postar um comentário