



















Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Saiba como associar instrumentação virtual à programação visual na engenharia elétrica, utilizando labview e sistemas de comunicação digital como gpib. Ensaie o uso de interfaces de controle de motores de passo ou servo, e aprenda a obter dados reais em tempo real para modelos simulados. Compreenda a importância do monitoramento e controle do instrumento pelo computador, e descubra como os pdas podem ser utilizados como instrumentos virtuais.
Tipologia: Notas de estudo
1 / 27
Esta página não é visível na pré-visualização
Não perca as partes importantes!




















1. Objetivos
Apresentar o conceito de instrumentação virtual, seus aspectos e suas vantagens Associar a instrumentação virtual à programação visual (uso de componentes de software reutilizáveis, implementados graficamente) orientada ao fluxo de dados Apresentar as principais interfaces e padrões de comunicação usados na instrumentação virtual
2. Introdução
Você descobrirá, no decorrer do seu curso de engenharia elétrica que, nas disciplinas de Laboratório de Eletricidade e de Eletrônica, são realizadas diversas experiências em que os equipamentos usados para geração e medida de sinais são conectados ao computador através de cabos GPIB, controlando-se o experimento todo via software através de um sistema denominado LabVIEW ®^1.
No parágrafo acima, você deve interpretar a palavra experimento como sendo uma seqüência de ações de medida de valores instantâneos e de parâmetros de sinais elétricos. Esses valores são fornecidos pelos instrumentos de medida. Além das ações de medida, também faz parte do experimento o registro e a documentação das medições.
experimento
LabVIEW
computador
GPIB
GPIB
instrumentos
Essa abordagem adotada nesses cursos visa prepará-lo para que você possa sentir-se à vontade com uma das mais modernas e revolucionárias formas de se realizar projetos, testes e simulações em engenharia: a denominada engenharia virtual. Esse paradigma possui duas grandes componentes: a instrumentação virtual e a simulação por computador. A primeira se refere ao emprego do computador para ampliar a capacidade funcional dos instrumentos. A segunda corresponde ao uso do computador para simular o comportamento de processos, sistemas, dispositivos, meios e materiais. A instrumentação virtual e a simulação por computador nasceram e evoluíram independentemente uma da outra. Nos últimos anos, elas convergiram para esse novo conceito de engenharia virtual. Agora, pode- se falar na instrumentação virtual enviando dados reais em tempo real para um modelo simulado, que processa esses dados e retorna ao sistema físico, através de interfaces adequadas, estímulos, sinais e efeitos.
Oras, o monitor do computador também tem um tubo de raios catódicos e circuitos que controlam a varredura do vídeo. A idéia da instrumentação virtual surgiu, então, pensando- se em colocar em uma placa ligada ao barramento do computador os circuitos necessários para receber o sinal, condicioná-lo e convertê-lo em seguida à forma digital. A forma de onda será então exibida na tela, sendo a base de tempo produzida por software. Com o advento das interfaces gráficas de usuário, tornou-se possível sintetizar na tela o próprio painel do osciloscópio, tal como se o computador emulasse o instrumento. Daí o termo instrumento virtual.
Placa de aquisição de dados com os circuitos de acoplamento e amplificação
O computador como instrumento virtual, no caso, emulando um osciloscópio.
Diversos outros instrumentos podem ser emulados no computador dotado de uma placa adequada ao tratamento do sinal específico. Também sensores e transdutores podem ser conectados ao computador, através de placas de condicionamento de sinais e de aquisição de sinais, como ilustrado abaixo.
notebook
Sensor termopar
Bloco de terminais e condicionamento de sinal.
O computador notebook é dotado de uma placa tipo PCMCIA que realiza a aquisição do sinal condicionado no módulo indicado.
Podem-se construir bastidores para acomodarem diversos blocos de terminais e circuitos de condicionamento de sinais provenientes de sensores, como ilustrado a seguir. A figura mostra um bastidor tipo SCXI, da National Instruments. Nos exemplos ilustrados pelas figuras até aqui, os sinais chegam diretamente ao computador, provenientes de um sensor ou sonda (ponta de prova). Uma vez na memória, os sinais podem ser processados, pois passam a ser dados numéricos que podem ser manipulados à vontade, bastando-se que se aplique os algoritmos adequados. . Esse expediente de adquirir os sinais de armazená-los de forma numérica para posterior processamento e análise, também inspirou os projetistas de instrumentos que criaram equipamentos que já fornecem o sinal em forma digital e transferindo-os ao computador.
A vantagem de se fazer isso encontra-se na possibilidade de se estender a funcionalidade do instrumento. Assim, por exemplo, o osciloscópio pode ser transformado em algum tipo de analisador de sinais, por exemplo, realizar sua análise espectral através da transformada de Fourier, calculada no computador. O resultado poderia ser enviado de volta ao osciloscópio ou exibido na tela do computador. Para realizar essas transferências entre instrumento e computador, criou-se um protocolo e um barramento padronizados, constituindo o padrão GPIB, que mencionamos atrás e que estudaremos em maior detalhe adiante.
Bastidor SCXI
Blocos de terminais e condicionamento
sensores
Motores, atuadores e transdutores
Os sinais de dispositivos de entrada e saída e de sensores e atuadores podem ser transferidos computador.
Surgiram também computadores dotados de padrões elétricos de maior confiabilidade, com maior robustez. Exemplo dessa tecnologia são os computadores compactos de barramento PCI, chamados de PXI (Compact PCI). A figura ilustra uma série de placas que podem ser acopladas ao barramento PXI.
A figura a seguir mostra um ensaio de resistência mecânica de materiais metálicos, sendo realizado através de controle e monitoração via instrumentação virtual.
Corpo de prova (detalhe), mostrando os sensores (strain gages)
Condicionamento Carregamento de sinal
Corpo de prova
A figura ao lado mostra um teste empregando instrumentação virtual, realizado na indústria automobilística.
3. Instrumentação Virtual
Um instrumento real genérico pode ser visto como um aparelho dotado dos seguintes componentes:
atuador / transdutor
grandeza sinal elétrico física painel frontal
painel frontal
sinal elétrico
A transdução da grandeza física genérica para a forma elétrica é requerida em instrumentos cujo funcionamento é eletrônico (atualmente, a maioria). Em geral o painel de controle opera eletronicamente, bem como o processamento do sinal. A figura 1 mostra esquematicamente os dois tipos básicos de instrumento: o de medida e o de controle. O operador humano usa esses instrumentos fazendo as conexões dos cabos de ligação com os demais dispositivos através do painel de conexões e opera o instrumento através do painel frontal. Dizemos então que o conjunto desses painéis constitui a interface conceitual entre o instrumento (real) e o usuário.
O instrumento virtual é um sistema formado por um computador mais um instrumento de medida ou equipamento de comando (reais), colocados em comunicação. Um programa executando no computador torna o instrumento ou o controlador acessível ao operador através de uma interface gráfica de software. Essa interface é dotada de botões, chaves, mostradores, indicadores, painéis de exibição de gráficos, etc, apresentados como objetos interativos, animados sob ação do operador através do apontador do mouse. O instrumento conectado ao computador pode ser desde um equipamento completo, como um osciloscópio, frequencímetro etc, ou mesmo um simples sensor como um termopar, um extensômetro etc.
O instrumento virtual é composto de duas partes:
O painel frontal é uma janela apresentada na tela do monitor, na qual são desenhados ícones com formatos que lembram os componentes de um painel de instrumento (botões, chaves, indicadores, oscilogramas, etc). Esses componentes estão associados a variáveis e parâmetros, cujos valores são medidos ou ajustados. O diagrama de blocos^3 representa graficamente os processos aos quais são submetidas as variáveis e parâmetros apresentados no painel frontal.
Figura 2 - Interface conceitual do instrumento virtual (LabVIEW) : (a) painel frontal e (b) diagrama de blocos.
A figura 2 mostra uma situação hipotética em que uma variável x medida é combinada com os parâmetros A e B ajustados no painel frontal, produzindo o valor A + Bx. No diagrama de blocos, mostra-se que a medida da variável x é simulada por um gerador de números aleatórios, que produz números ao acaso, uniformemente distribuídos no intervalo
[0,1]. A variável e os parâmetros são processados pelos blocos de multiplicação e adição mostrados no diagrama de blocos. Como saída, são fornecidos simultaneamente os valores de x e de A + Bx.
dados digitais
instrumento dotado de interface GPIB
sinal elétrico
Figura 3 - Estrutura de um instrumento virtual
A disponibilidade de interfaces gráficas permite a apresentação da informação em uma forma mais ergonômica, isto é, segundo um arranjo visual adequado à tarefa que se pretende realizar. Assim sendo, em vez de usar somente o teclado, a captura das entradas do usuário (comandos, ações, ajuste de parâmetros) pode ser feita de modo mais natural, atuando-se com o apontador do mouse em um ícone mnemônico (por exemplo, desenhado com o aspecto de um botão ou chave). Além disso, podem-se representar as conexões, entre os diversos equipamentos que compõem o experimento, através do diagrama de blocos. Com esses ingredientes, a interface conceitual do computador pode prover o
Os exemplos a seguir mostram três implementações de um programa para gerar um conjunto aleatório de dados e encontrar o valor máximo desse conjunto. A primeira implementação é feita em linguagem C, textual. A segunda e a terceira são feitas usando-se programação visual, com dois produtos comerciais: HP-VEE 5 e LabVIEW.
Figura 4 - Implementação da solução em C
A figura 4 mostra a implementação do programa em C. Nele é criado um vetor num[ ] de 256 entradas em ponto flutuante de dupla precisão. Essas entradas são preenchidas com números aleatórios através da função rand( ) repetida 256 vezes no primeiro laço for. O programa imprime as entradas do vetor, uma em cada linha. No segundo laço for , varre-se o vetor buscando o valor máximo contido no mesmo, que então é impresso.
Figura 5 - Solução implementada com HP-VEE.
A figura 5 mostra a solução obtida com o programação visual usando o ambiente de desenvolvimento HP-VEE. Na fig. 5.a vê-se o painel frontal e, na 5.b, o diagrama de blocos. Pode-se identificar os seguintes componentes: uma área de texto contendo o título do programa, um botão de partida ( start ), um bloco contendo o gerador de ruído que preenche o vetor, um bloco contendo a função max(x) que obtém o máximo do vetor x fornecido como entrada, um bloco contendo uma tela oscilográfica e um bloco que mostra um valor numérico que lhe é fornecido como entrada. A tela oscilográfica faz o papel da impressão dos valores do vetor. Ela poderia ter sido substituída por um bloco contendo uma tabela que mostraria os valores do vetor.
selecionar com o mouse. Os componentes são então conectados selecionando-se com o mouse as terminações dos componentes que devem ser interligadas e desenhando-se o trajeto da ligação sobre o diagrama de blocos, com o apontador do mouse. No caso do LabVIEW , a cor e espessura da ligação se ajustam automaticamente ao contexto, de acordo com o tipo de dado que está sendo passado de um componente para outro.
A utilização de componentes de software em programação (visual ou textual) é uma prática possível graças à orientação a objetos, que tem peculiaridades conceitualmente diferentes da tradicional programação estruturada. Em instrumentação virtual, os programas são denominados instrumentos virtuais ( virtual instruments - VI s). Os componentes que são os blocos construtivos usados na elaboração de um instrumento virtual, são objetos, no sentido da programação orientada a objetos, que pode ser encontrada no apêndice A. Alguns usam o termo componentware para designar software baseado em componentes. Os componentes são módulos de software reutilizáveis (geralmente pré-compilados).
5. Execução simultânea ( Multitasking e Multi-threading )
O computador tem seu funcionamento administrado pelo sistema operacional , como o Linux, o Windows e o MacOS por exemplo. Ele é uma peça de software que decide quem usa qual parte da memória, que programas são executados, quais tarefas o computador está realizando e de que forma. Conceitualmente, os componentes e objetos são peças de programação que podem ter existência independente umas das outras. Isto é, se o sistema operacional permitir, os diversos objetos e componentes de um programa poderão estar sendo executados paralelamente (ou concorrentemente), de modo assíncrono. Seu funcionamento conjunto, traduzindo a funcionalidade do programa, dar-se-á pela troca de informações, isto é, dados. Dessa forma, os objetos trocam mensagens uns com os outros e, assim, o estado do sistema vai evoluindo, produzindo a execução da tarefa. Diz-se, então, que a execução dos objetos é disparada de forma simultânea , isto é, independentemente uns dos outros, de acordo com a capacidade do sistema.
O tipo de simultaneidade de que os objetos poderão desfrutar, na prática, depende da plataforma de execução ( hardware e sistema operacional ). Uma plataforma pode ser multiprocessada ( paralela ) ou multitarefa. As plataformas multiprocessadas dispõem de mais de um processador, podendo de fato executar simultaneamente (do ponto de vista de tempo físico) mais de um processo 6. As plataformas multitarefa são dotadas de sistemas operacionais capazes de administrar vários processos executando em tempo partilhado, isto é, cada processo é partido em trechos e cada trecho é executado durante um intervalo de tempo curto, parando em seguida para dar vez à execução do trecho de um outro processo e assim por diante. Com isso o sistema funciona como se vários processos parecessem estar sendo executados ao mesmo tempo^7.
Quando um dado processo contém vários objetos, pode-se executá-los de forma "simultânea" repartindo o uso do processador entre eles no modo de tempo partilhado. Esse tipo de multitarefa é denominado multithreading e cada módulo do processo que executa em "paralelo" denomina-se um thread de execução. Não entraremos em maiores detalhes quanto a esses termos e vamos entender os objetos como se fossem trechos de um processo que podem executar quase-paralelamente em uma plataforma multitarefa. Guarde bem o seguinte:
Os módulos do LabVIEW (as “caixinhas” constituidas pelos ícones de sua linguagem gráfica) são objetos com threads , que podem executar simultâneamente. A forma de administrar a repartição do tempo de processador entre esse objetos pode levar à execução assíncrona ou síncrona. No caso do LabVIEW, há módulos que devem executar de forma
(^6) Entenda-se por processo um programa. Um processo pode conter um ou vários objetos. (^7) Tempo aqui é do ponto de vista computacional, isto é, com base no relógio ( clock ) da máquina.
síncrona sempre. Um módulo é dito síncrono quando sua execução, uma vez iniciada, deve seguir até o fim, antes que outro módulo possa ser executado. Ou seja, módulos síncronos afetam o "quase paralelismo" de execução entre os objetos. Voltaremos a esse ponto na seção 7.
Esses conceitos são essenciais para permitir a concepção dos ambientes de programação visual que compõem o LabVIEW e o HP-VEE. Os componentes desses ambientes são objetos, instâncias de classes que se comunicam. As mensagens que trocam uns com os outros são especificadas pelas conexões presentes no diagrama de blocos. Seus blocos são disparados em tempo compartilhado quando o programa é executado. O encapsulamento dos dados é essencial, para garantir que os componentes possam existir com base na sua funcionalidade, sem nos preocuparmos com detalhes de sua implementação. O mecanismo de passagem de mensagens entre objetos requer que se defina interfaces padronizadas entre os objetos e protocolos que indiquem como um bloco genérico passa informação para outro. As interfaces especificam a forma como os dados são apresentados para entrada e saída de um bloco. Os protocolos especificam a forma como os dados devem ser transferidos de um bloco para outro, através de suas interfaces. A figura 7 ilustra esses conceitos.
PROTOCOLO
MENSAGEM
OBJETO A
INTER
FACE^ OBJETO B
INTER
FACE
Figura 7 - Interfaces e protocolos de troca de mensagens (dados, sinais) entre os objetos. ( Observação - o termo "sinal" foi usado significando um tipo particular de dado que comunica um evento ao outro objeto.)
Os instrumentos reais acoplados ao computador aparecem nesse ambiente de programação visual como blocos especializados. Esses blocos recebem as informações vindas através das interfaces eletrônicas com os instrumentos reais e as transformam em variáveis, passadas aos demais blocos como mensagens contendo os dados. Resta discutir o que são esses blocos especializados e que tipo de comunicação eles executam com os instrumentos reais.
6. Interfaces de Instrumentação
Há dois aspectos a se considerar quanto ao interfaceamento dos instrumentos reais com o ambiente de objetos da instrumentação virtual: (i) o componente de interfaceamento e (ii) o padrão de comunicação. O componente de interfaceamento refere-se ao módulo de software ou objeto que representa o instrumento real dentro do ambiente de programação. O padrão de comunicação determina a forma como os dados são transferidos ( tipo de barramento de dados e protocolo de comunicação). O componente de interface deve ser compatível com o protocolo de comunicação usado.
Os tipos de barramentos de dados mais comuns para uso com microcomputadores são: via serial e via paralela. Nos barramentos seriais, há uma única via física de comunicação, por onde passam os bits dos dados serialmente. Nos barramentos paralelos, há várias vias físicas para transmissão dos bits dos dados paralelamente. Além das vias de dados, esses barramentos têm outras vias dedicadas a sinais de controle e aterramento. Existem normas que padronizam os parâmetros dessas vias e a forma como são inseridos os dados e sinais nas vias (protocolos). Os protocolos seriais mais utilizados são o RS-232C , o
Figura 9 - Configurações de redes de instrumentos com GPIB
CONFIGURAÇÃO LINEAR
CONFIGURAÇÃO EM ESTRELA
Instrumento B Instrumento C
Instrumento A
Instrumento C
Instrumento B
Instrumento A
O GPIB apresenta as seguintes restrições de montagem:
6.2. Interfaceamento de sensores e atuadores analógicos
Sensores e atuadores que utilizam diretamente sinais analógicos podem ser interfaceados com um ambiente de instrumentação virtual através de dispositivos de aquisição de dados (DAQs). Os DAQs são dotados de conversores analógico-digitais e podem ser placas conectadas diretamente ao barramento do computador ou dispositivos externos conectados via serial, paralela ou outros (SCSI, TCP/IP, etc).
6.3. Componentes de interfaceamento de instrumentos ( instrument drivers )
Os instrumentos reais são vistos pelo ambiente através de um componente de software apresentado como um bloco no diagrama de blocos. Esses componentes são denominados instrument drivers e devem ser compatíveis com a forma de comunicação utilizada (GPIB, serial, barramento interno, etc). Dentro desse bloco encontra-se o programa capaz de se comunicar com o hardware do instrumento e controlá-lo. Esse módulo pode ser implementado seguindo um padrão de arquitetura de software que permite tratar os dispositivos de maneira bastante uniforme e simplificada, denominado VISA - Virtual Instrument Software Architecture. Esse padrão inclui métodos para tratamento de eventos e de erros. O VISA cobre uma extensa classe de tipos de interfaceamento: GPIB, serial, barramentos PCI ( PCI extendido e compacto - PXI), VME ( VME extendido e compacto - VXI), PCMCIA, etc.
7. Ambientes comerciais de instrumentação virtual
Vamos discutir aqui alguns aspectos dos dois mais populares ambientes de instrumentação virtual: o HP-VEE e o LabVIEW.
7.1. Hewlett-Packard Virtual Engineering Environment
O HP-VEE é o ambiente de instrumentação virtual criado pela Hewlett-Packard para trabalhar com seus próprios equipamentos e demais instrumentos compatíveis. A figura 5 mostra o aspecto e os elementos essenciais desse ambiente. O HP-VEE foi implementado usando o paradigma de programação orientada a objetos. Entretanto, não é um ambiente de desenvolvimento de programas orientados a objetos (Baroth e Hartsough, 1995 em [1] ). Essencialmente oferece ao usuário módulos cujos parâmetros e aspecto podem ser ajustados a gosto e conectados para compor uma tarefa complexa. Esses módulos são objetos, instâncias de classes como geradores, interfaces de operador, mostradores, instrumentos, objetos matemáticos e outros. Os módulos são, em princípio, disparados assincronamente. Todavia, permite a execução síncrona, através da especificação da ordem de execução feita através da conexão de terminais especiais existentes em todos os blocos de módulos - os terminais de entrada e de saída de ordem sequencial (vide figura 5: o terminal onde se liga o botão start é a entrada de ordem de sequência do bloco do gerador de ruído e o correspondente no bloco do botão de start é o seu terminal de ordem de saída). A especificação da sequência por esse método pode vir a se tornar uma tarefa difícil em sistemas muito grandes. O HP-VEE também permite que DLLs geradas a partir de outras linguagens sejam ligadas ao ambiente. O foco de desenvolvimento e comercialização do HP-VEE tem sido basicamente atender às necessidades de uso de instrumentos produzidos pela própria HP. O HP-VEE era originalmente interpretado, porém sua versão mais recente já produz código compilado.
7.2. Laboratory Virtual Instrument Engineering Workbench
O LabVIEW foi criado pela National Instruments como um ambiente de programação voltado ao desenvolvimento de aplicações, realizado através de programação visual orientada pelo fluxo de dados, com o foco em instrumentação virtual. O nome LabVIEW designa o ambiente de desenvolvimento e a linguagem de programação visual denomina-se G (de G raphics, numa acepção à linguagem C ). Historicamente, a linguagem G foi primeiramente desenvolvida e, com ela, o ambiente LabVIEW foi implementado. A linguagem G tem expressividade equivalente à de uma linguagem declarativa textual, como o C e o Pascal, por exemplo. Ela é dotada de blocos especiais para controle de fluxo, laços iterativos, etc, como discutido na seção 4. O programa visual criado com esses blocos é compilado e executado dentro do ambiente LabVIEW, que também oferece mecanismos para detectar, rastrear e diagnosticar erros de programação. Durante a execução, os objetos são disparados assincronamente, como threads independentes. Há duas exceções a essa regra, que forçam a sincronização ( isto é, são módulos executados até o fim ): (i) os blocos dentro de uma sequência , definidos como explicitamente sequenciais e (ii) os CINs. Estes, os Code Interface Nodes são blocos que contêm código desenvolvido em C, por exemplo, pelo usuário. Como não é possível em princípio prever o comportamento desses módulos, os desenvolvedores do LabVIEW optaram por uma postura conservadora, forçando esses blocos a serem síncronos por princípio.
Os programas desenvolvidos em G são genericamente designados por VIs ( Virtual Instruments ), mesmo que não estejam implementando uma tarefa de instrumentação. Um VI pode ser encapsulado em um bloco e chamado como sub-rotina de um outro VI. O VI encapsulado passa a se chamar então Sub-VI , embora possa ser executado independentemente, desde que esteja inicializado corretamente (pré-condicionado completamente). O objetivo desta experiência de PSI-2315 é obter alguma prática com desenvolvimento de programas em G, construindo alguns VIs simples.