introdução_ao_labview_-_2007-2008_versão_12

60
Instrumentação e Electrotecnia Aplicada – 2007/2008 Aulas Práticas Página : 1 Introdução ao LabView (Versão 7.1) Laboratory Virtual Instrumentation Engineering Workbench (Bancada virtual da engenharia da instrumentação do laboratório) Linguagem de programação visual, da National Instruments. A execução é determinada pela estrutura gráfica dos blocos utilizados. Os nós(entradas) das funções são ligados através de linhas. As variáveis de cada função são definidas entre Inputs, Outputs, normalmente não é necessário definir variáveis. Figura 1: Interface de desenvolvimento Conceitos Gerais Panel – Interface utilizador; Diagram - Página onde são definidas os blocos de programa; Funções - Livrarias, com instruções e funções de programação, disponíveis na janela “Diagram”; Controls - Tipos de controlos disponíveis na janela de interface com o utilizador, define o tipo e a forma de entrada de dados e forma de saída e visualização de dados; Ferramentas - VI’s - Programas/subrotinas desenvolvidas em LabVIEW (Virtual Instruments)

Upload: julian-serrano

Post on 26-Oct-2015

22 views

Category:

Documents


0 download

TRANSCRIPT

Instrumentação e Electrotecnia Aplicada – 2007/2008 Aulas Práticas

Página : 1

Introdução ao LabView (Versão 7.1) Laboratory Virtual Instrumentation Engineering Workbench (Bancada virtual da engenharia da instrumentação do laboratório)

Linguagem de programação visual, da National Instruments. A execução é determinada pela estrutura gráfica dos blocos utilizados. Os nós(entradas) das funções são ligados através de linhas. As variáveis de cada função são definidas entre Inputs, Outputs, normalmente não é necessário

definir variáveis.

Figura 1: Interface de desenvolvimento

Conceitos Gerais Panel – Interface utilizador; Diagram - Página onde são definidas os blocos de programa; Funções - Livrarias, com instruções e funções de programação, disponíveis na janela

“Diagram”; Controls - Tipos de controlos disponíveis na janela de interface com o utilizador,

define o tipo e a forma de entrada de dados e forma de saída e visualização de dados;

Ferramentas - VI’s - Programas/subrotinas desenvolvidas em LabVIEW (Virtual Instruments)

Instrumentação e Electrotecnia Aplicada – 2007/2008 Aulas Práticas

Página : 2

Sub VI - Utilização de um programa ou rotina criado anteriormente (Virtual Instruments), podendo ser utilizado em diversos programas em LabView;

Vantagens Diversidade de drivers e suporte para acesso a diferentes periféricos/instrumentos e hardware. Diversas livrarias de funções:

o Data Aquisition – Aquisição de dados, entradas e saídas analógicas e digitais; o Signal generation – Geração de sinais periódicos e outros; o Mathematics – Funções e instruções matemáticas; o Statistics – Funções e instruções estatísticas; o Signal conditioning – Acondicionamento de sinal; o Analisys – Analise;

Os programas podem ser compilados e distribuídos em conjunto com o Run-time engine e com as livrarias, possibilitando a execução noutros computadores;

Descrição de funções Descrição geral das funções:

Input: o DAQ Assistant, assistente de configuração de módulos de aquisição de dados exteriores; o Simulate Signal, simulação de sinais periódicos (sinusoidais, quadrados, triangulares, etc); o Instrument drivers, assistente de instalação de drives de periféricos, por exemplo portas de

comunicação série, paralelas, etc; Analysis

o Spectral measurements, analise espectral; o Amplitude and level measurements; o Filter, filtros; o Distortion, distorsão;

Output o DAQ Assistant (saídas analógicas) o Report, relatórios;

Execution Control – Ciclos de controlo de sequências de programação: o While Loop o Case Structure

Arithmetic and Comparasion o Funções numéricas e de control

All function o Visualização de todas as funções da forma convencional:

� Estruturas: For Loop, Case Structure, Formula node, … � Funções numéricas: Multiplicação, Divisão, Subtracção, … � Booleanas: And, Or, … � Strings: String Length, To Upper Case, Concatenate String, … � Array: Array Size, Índex Array, … � Cluster: Bundle, Unbundle, … � Comparasion: Equal, Not Equal, … � Time and Dialog: Wait (ms), Get date/Time String, … � File IO: Read File, Write File, … � NI Measurements: Utilização de placas de aquisição da National Instruments,

sistemas de visão, … � Waveform: configuração de formas de onda � Instrument I/O: acesso à porta série, utilização do interface GPIB, … � Comunnication: Configuração e utilização de comunicações TCP, Bluetooth, … � Decorations: formas gráficas para comentar os programas desenvolvidos.

Instrumentação e Electrotecnia Aplicada – 2007/2008 Aulas Práticas

Página : 3

Tipos de variáveis de entrada e saída Para cada ponto de entrada e saída das funções, defini-se o tipo de variável (relação), colocando o rato sobre o ponto de entrada ou saída, carregar no botão do lado esquerdo do rato, tendo acesso à criação:

Control - Variável de entrada definida pelo utilizador Constant - Valor “fixo”, definido no programa Output - Resultado da operação

As ligações entre as diversas funções são realizadas por linhas e a cor das linhas de ligação indicam o tipo de variável utilizada:

Verde - Variáveis booleanas. Laranja - Variável real, 64 bits Azul - Variáveis inteiras Rosa - String’s

Comandos do LabVIEW

Executa o programa 1 Vez

Executa o programa continuamente

Aborta a execução do programa

Pausa

Visualização dinâmica da execução do programa

Instrumentação e Electrotecnia Aplicada – 2007/2008 Aulas Práticas

Página : 4

Exercícios de aplicação

Exercício Nº1 – Conversão ºC - ºK Conversão entre ºC (graus celsius) e ºK (graus Kelvin), para expressar o valor de temperatura.

273º

32)5

9*(ºº

9

5*)32(ºº

+=

+=

−=

CK

CF

FC

Figura 2 : Relação entre diferentes unidades de temperatura

Sequência de escrita do programa:

Definição da função aritmética a utilizar “Adição” Definição do tipo de variáveis a utilizar em cada uma das entradas da função “Adição”

Figura 3 : Tipo de variável que poderemos utilizar em cada entrada da função

Após a definição das entrada da função, deve-se ordenar e organizar o interface de utilização.

Instrumentação e Electrotecnia Aplicada – 2007/2008 Aulas Práticas

Página : 5

Figura 4 : Conversão unidades de temperatura ºC em ºK

Instrumentação e Electrotecnia Aplicada – 2007/2008 Aulas Práticas

Página : 6

Exercío Nº 2 – Conversão anos em segundos Calcular o número de anos em segundos.

Figura 5 : Conversão do número de anos em segundos

Instrumentação e Electrotecnia Aplicada – 2007/2008 Aulas Práticas

Página : 7

Exercício Nº 2ª – Criação de um Sub-VI Criar uma sub-rotina (sub-vi)

1. Abrir o programa do exercício n.º 2; 2. Clicar com o botão do lado direito do rato no ícone

do painel frontal e seleccionar “Edit Icon”; 3. Clicar 2X na ferramenta de selecção do lado

esquerdo; 4. Premir a tecla “Delete” para apagar o conteúdo; 5. Desenhar um rectângulo preto em volta da janela; 6. Clicar 2X na ferramenta de texto do lado esquerdo e

seleccionar letra tamanho 11; 7. Escrever o texto “A->S” centrado; 8. Clicar “OK” quando terminado;

9. Clicar novamente com o botão do lado direito do

rato no ícone do painel frontal, e seleccionar “Show Connector”;

10. No mesmo ícone, clicar em “Patterns” e escolher o seguinte padrão para as entradas e saídas da função:

11. Clicar com o botão do lado esquerdo do rato no

controlo “Idade” do painel frontal; 12. Com a tecla “Ctrl” premida, clicar com o botão do

lado direito do rato no rectângulo do lado esquerdo do ícone, ficando este laranja:

13. Repetir o passo anterior no indicador “Idade em

segundos”:

14. Guardar o ficheiro com o nome “a2s.vi”;

15. Criar um novo VI; 16. Seleccionar nas funções do diagrama de blocos “Select a VI…”; 17. Seleccionar o ficheiro “a2s.vi” previamente criado; 18. Colocar a função no diagrama de blocos; 19. Clicar com o botão do lado direito sobre o campo “Idade”,

seleccionar “Create” seguido de “Control”; 20. Repetir o passo anterior para o campo “Idade em segundos”.

Instrumentação e Electrotecnia Aplicada – 2007/2008 Aulas Práticas

Página : 8

Exercício Nº 3 – Conversão ºC em ºK Conversor de temperatura de ºC (graus celsius) em ºK (graus Kelvin) ou ºF (graus farnheit), em função da opção do utilizador. Notas para a realização do programa:

Utilização de funções numéricas: o Add (Adição) o Multiply (Multiplicação) o Divide (Divisão)

Utilização de funções de estruturas: o Case

Figura 6 : Programa Conversão ºC em ºK (Kelvin) ou ºF (Farnheit) – Front Panel

Figura 7 : Programa Conversão ºC em ºK (Kelvin) ou ºF (Farnheit) – Diagram

Instrumentação e Electrotecnia Aplicada – 2007/2008 Aulas Práticas

Página : 9

Exercício Nº 4 - Conversão ºC em ºK, com escrita da unidade em string Conversão da unidade de temperatura, escrevendo em string a unidade para a qual se pretende converter ºC em ºK ou ºF.

Figura 8 : Conversão de temperaturas definindo a unidade com strings

Instrumentação e Electrotecnia Aplicada – 2007/2008 Aulas Práticas

Página : 10

Exercício Nº 5 - Conversão ºC em ºK ou ºF (Case) Conversão da unidade de temperatura ºC em ºK ou ºF, definindo a string para a qual se pretende converter. Funções a utilizar:

To Upper Case String Subset Estruturas de case (selecção)

Figura 9 : Conversão ºC em ºK ou ºF

2ª Versão do programa:

Figura 10 : Conversão ºC em ºK ou ºF, 2ª Versão - Panel

Instrumentação e Electrotecnia Aplicada – 2007/2008 Aulas Práticas

Página : 11

Figura 11 : Conversão ºC em ºK ou ºF, 2ª Versão - Diagram

Exercício Nº 6 – Maquina Calcular Realização de uma máquina de calcular com as 4 operações fundamentais. Objectivo: Apresentação dos controlos e indicadores numéricos, da estrutura de “case” com selector binário, numérico ou string. Sugestão: 1º fase - Duas entradas numéricas (control), uma operação (+) , uma saída (indicator). 2º fase - Duas entradas numéricas (control), quatro operações (+.-,/,*) , quatro saídas (indicator) uma para cada operação. 3º fase - Duas entradas numéricas (control), duas operações (+,-), um case binário, uma saída (indicator) 4º fase - Duas entradas numéricas (control), quatro operações (+,-,*,/) um case numérico: 1,2,3,4; uma saída (indicator) 5º fase - Duas entradas numéricas (control), quatro operações (+,-,x,/) um case string: som, sub, mult, div; uma saída. Criar o case de forma normal, alterando o controlo booleano por um controlo numérico. Utilizar control “Text, Menu Ring” Na página de interface seleccionar o “Control”, pressionar no botão direito do rato, “Replace”, “Text Control”, escolher qual o tipo de comando que pretendido.

Instrumentação e Electrotecnia Aplicada – 2007/2008 Aulas Práticas

Página : 12

Introdução aos Temporizadores

Existem diversas funções de temporização, podendo ser utilizados com diferentes objectivos:

Tick Count (ms) – Visualiza a contagem do tempo em ms;

Wait (ms) – Aguarda o valor definido em ms e visualiza o tempo em ms;

Wait until Next ms Multiple – Aguarda o valor definido em múltiplos do valor definido em ms;

Formate Date/Time String – Visualiza a data/horas;

Get Date/Time String – Visualização data/hora em campos independentes;

Instrumentação e Electrotecnia Aplicada – 2007/2008 Aulas Práticas

Página : 13

Exercício Nº 7 – Pisca-Pisca de 1 segundo Realizar um pisca pisca de 1 segundo de intervalo. OIbjectivo: Manuseamento de variáveis numéricas, booleanas, estruturas de case. Notas:

Utilização de funções realizadas com temporizadores. Utilização de comparações. O intervalo de tempo é definido no controlo “Aguarda xxx ms” O intervalo de tempo é o valor em segundos/10, em que o indicador Pisca/Pisca vai mudar de

estado. Quando o led está ligado passado 1 segundo deve apagar e passado 1 segundo deve desligar, devem

ser utilizadas as funções booleanas “NOT”, para inverter o valor lógico de uma variável digital. Variáveis locais (Estruturas - Local), para utilizar sempre que pretendemos modificar/manipular

uma variável de um indicador.

Figura 12 : Programa para realizar um Pisca/Pisca

Variável local - Read

Variável local - Write

Instrumentação e Electrotecnia Aplicada – 2007/2008 Aulas Práticas

Página : 14

Exercício Nº 7a – Semáforo

Instrumentação e Electrotecnia Aplicada – 2007/2008 Aulas Práticas

Página : 15

Monitorização de Processos Industriais e Conversão de variáveis

Figura 13 : Exemplo de Monitorização de Processos Industriais, forno contínuo – Vulcano.

É frequente a utilização de programas para realizar a monitorização e controlo de processos industriais, como pode ver pela figura anterior. Quer em instrumentação e/ou programação é necessária a utilização de diferentes tipos de variáveis, nomeadamente: inteiras, reais, booleanas, caracteres, strings. No entanto muitas vezes, torna-se necessário converter um tipo de variável noutro tipo de variável, por exemplo sempre que é necessário registar em ficheiro. Na imagem da figura, existe a leitura no nível de água, através de uma entrada analógica do módulo USB-6008, que será convertido no PC numa variável de 0 a 100% (inteira), uma entrada digital (booleana), indicando se o sistema está ou não em funcionamento, fazendo uma leitura com intervalos de tempo de 2 minutos e para guardar em ficheiro torna-se necessário converter todas as variáveis em string, para posteriormente se poder armazenar em fichieiro.

Leitura do nível de 0..10V

USB-6008Interface USB

Reservatório Ligado

Figura 14 : Controlo do nível de água de um reservatório

Instrumentação e Electrotecnia Aplicada – 2007/2008 Aulas Práticas

Página : 16

Data Hora Nível Reservatório em Funcionamento 12-09-2005 9H32M 45 0 12-09-2005 9H34M 55 0 12-09-2005 9H36M 57 0 12-09-2005 9H38M 60 0 12-09-2005 9H40M 56 0 12-09-2005 9H42M 51 1 Muitas vezes torna-se necessário também proceder à operação inversa, tendo uma string com diferente tipo de informação, dividir a string em diversas sub-strings e converter cada uma delas em diferentes tipos de variáveis, para visualizar e eventualmente realizar algum tipo de processamento. O LabView, é uma ferramenta com grande divulgação, com características especiais para realizar as operações e manipulações referidas, sendo necessário o conhecimento de muitas funções de:

Temporização Conversão de variáveis Escrita/Leitura de dados de

ficheiros Acesso a portas de comunicação

Figura 15 : Leitura de nível - Sonda Ultrasónica - Estação Elevatória São Bento (SMA)

Instrumentação e Electrotecnia Aplicada – 2007/2008 Aulas Práticas

Página : 17

Exercício Nº 8 – Conversão de variáveis numéricas e digitais em String; Conversão de valores analógicos e valores digitais em strings. Apresentação das funções, de conversão inteiros em string. Conversão de números booleanos (digitais) em string. Junção de String’s. Leitura da data e hora do sistema Comando add input, quando pretendemos acrescentar novos terminais.

Figura 16 : Conversão de variáveis.

Instrumentação e Electrotecnia Aplicada – 2007/2008 Aulas Práticas

Página : 18

Exemplo Nº 9 – Conversão de strings em variáveis nu méricas Conversão de String’s em valores digitais e valores analógicos. Objectivo: Funções de conversão e manipulação de strings em números.

Figura 17 : Conversão de strings em números.

Instrumentação e Electrotecnia Aplicada – 2007/2008 Aulas Práticas

Página : 19

Gráficos

Exercício Nº 6 A- Temporizador Ciclo While – Temporização

1. Abrir um novo VI; a. Desenhar o painel:

Inserir uma barra (Modern=>Numeric=>Horizontal Pointer Slide) com o nome “Atraso (milisegundos)”;

b. Inserir um botão STOP (Modern=>Boolean=>Stop Button);

c. Inserir um gráfico (Modern=>Graph=>Waveform Chart);

d. Alterar a escala do gráfico em x para o intervalo [0;1]. Utilizar a ferramenta “Edit Text” em “Tools”;

2. Inserir um ciclo “While” (Programming=>Structures=>While Loop):

3. Seleccionar a função “Random Number (0-1)” (Programming=>Numeric=>Random Number) 4. Ligar os controlos:

5. Salvar o programa e carregar em “RUN”;

Instrumentação e Electrotecnia Aplicada – 2007/2008 Aulas Práticas

Página : 20

6. Completar o programa, introduzindo o temporizador:

7. Correr e testar a aplicação.

Instrumentação e Electrotecnia Aplicada – 2007/2008 Aulas Práticas

Página : 21

Exercício Nº 10 : Implementação de fórmulas matemát icas mais elaboradas. Objectivo: Implementação de fórmulas matemáticas. Para a implementação de fórmulas matemáticas mais elaboradas, pode ser necessária a utilização de funções específicas (Livraria Estruturas –> Fórmula Node), para simplificar a escrita do programa, permitindo escrever a fórmula matemática de forma convencional. Para construir a fórmula é necessário criar variáveis de entrada e variáveis de saída na caixa de implementação da fórmula, como se pode ver no exemplo. Duração: 20 minutos.

Figura 18 : Implementação de Fórmulas

• Add Input • Add output • Terminar a equação com “;”

Tabela 1: Operadores para a fórmula node

Instrumentação e Electrotecnia Aplicada – 2007/2008 Aulas Práticas

Página : 22

Exemplo 11: Conversão do Valor de tensão ddp (V) e m Temperatura (ºC). Converte o valor de tensão (ddp) em V gerado pelo termopar em Temperatura (ºC), utilizando a fórmula node.

Figura 19 : Polinómio de conversão tensão->temperatura

Instrumentação e Electrotecnia Aplicada – 2007/2008 Aulas Práticas

Página : 23

Labview – Gráficos

Exemplo 25: Gráficos Tipos de gráficos: Waveform Chart – X – escala de tempo (t0) Waveform Graph – X – numero de pontos (numero de pontos*dt) XY Graph

Figura 20 : Gráficos

Instrumentação e Electrotecnia Aplicada – 2007/2008 Aulas Práticas

Página : 24

Figura 21: Build XY Graph

Figura 22 : Gáfico XY Básico

1- Control Panel – All Controls

2- Selecção - Graph

3- Selecção – Express XY Graph

Instrumentação e Electrotecnia Aplicada – 2007/2008 Aulas Práticas

Página : 25

Figura 23 : Propriedades do formato para realização dos gráficos

Instrumentação e Electrotecnia Aplicada – 2007/2008 Aulas Práticas

Página : 26

Aquisição e Processamento de Variáveis A aquisição e processamento de sinais exteriores ao computador, torna-se necessário para monitorizar e implementar funções de conversão de temperatura, leitura da luminosidade, células de carga, leitura da pressão da água ou do ar comprimido. Para a aquisição e processamento de sinais exteriores utilizamos o módulo NI USB-6008 módulo multifunções, comunica com o computador através da porta de comunicação USB, e permite a leitura de 4 sinais analógicos e 4 entradas digitais, activar 2 saídas analógicas e 8 saídas digitais.

Características gerais do módulo USB6008

Figura 24 : Módulos USB

Instrumentação e Electrotecnia Aplicada – 2007/2008 Aulas Práticas

Página : 27

Figura 25 : Diagrama Funcional

Instrumentação e Electrotecnia Aplicada – 2007/2008 Aulas Práticas

Página : 28

Instrumentação e Electrotecnia Aplicada – 2007/2008 Aulas Práticas

Página : 29

Instrumentação e Electrotecnia Aplicada – 2007/2008 Aulas Práticas

Página : 30

Instalação do módulo USB-6008 Instalação dos drivers fornecidos com o módulo.

1. Introduzir o CD de Instalação; 2. Seleccionar a opcção: “Install NI-DAQmx / VI LOGGER”

Com a instalação dos drives é também instalado um conjunto de programas de teste do módulo, para verificar o funcionamento do módulo. Cada módulo tem um número de série associado, que identifica o módulo atribuindo um numero de dispositivo. Quando é utilizado outro módulo é necessário instalar o respectivo drive. Programas -> National Instruments -> NI DAQ -> NI Device Monitor ou através de do acesso ao programa:

- Measurements & Automation

Figura 26 : Acesso ao utilitário de diagnóstico de módulos exteriores

Instrumentação e Electrotecnia Aplicada – 2007/2008 Aulas Práticas

Página : 31

Figura 27 : Programa de testes dos módulos exteriores

Acedendo ao “Test Panel”, poderemos verificar o funcionamento das diversas variáveis de entrada e saídas dos módulos:

Figura 29 : Verificação do teste de entrada analógica

Figura 28 : Verificação do teste das saídas analógica

Instrumentação e Electrotecnia Aplicada – 2007/2008 Aulas Práticas

Página : 32

Figura 30 : Contador Digital Figura 25 : Entradas e saídas digitais

Instrumentação e Electrotecnia Aplicada – 2007/2008 Aulas Práticas

Página : 33

Aquisição de um sinal digital Os sinais digitais estão fortemente implantados em todos os sistemas industriais, sendo por isso importante a sua compreensão e a realização de algumas experiências para o seu controlo. Na figura indicada pode-se ver alguns sinais digitais envolvidos em processos industriais:

Figura 31 : Unidade de tratamento de ar,

Posto de ensaio dos Automáticos de Gás - BBT

Pressostato para indicar pressão pneumática Correcta

Acesso ao modo de Assistência do Bloco (DAQ Assist Block)

Figura 33 : Assistência ao acesso a módulos

exteriores

Figura 32 : Selecção do tipo de sinal a adquirir

Instrumentação e Electrotecnia Aplicada – 2007/2008 Aulas Práticas

Página : 34

Através da janela da figura 26, definisse o tipo de acesso a realizar Entrada Analógica, Saída Analógica, Entrada/Saída digital, Contador:

Figura 35 : Selecção da porta (pinos) de entrada

Para o port0/line 0, corresponde o pino 17, linha de entrada de tensão e como referência o pino 32 (ground). As entradas digitais são colector aberto, na ausência de tensão, o sinal lógico estará a ON, sendo necessário referenciar cada entrada a 0V (Ground) através de uma resistência de 3K3 ou superior, e quando se pretender activar o sinal dar uma tensão positiva de 5V.

Aceitar os parâmetros normais (figura 29). Validar a criação da entrada analógica com o botão OK. Após visualizar o objecto em “block diagram” criar um “indicator”, para visualizar o estado da entrada digital (figura 30).

Figura 37 : Programa de aquisição - Block Diagram

Figura 34 : Configuração dos parâmetros de aquisição

Figura 36 : Front Panel

Instrumentação e Electrotecnia Aplicada – 2007/2008 Aulas Práticas

Página : 35

Para simulação de uma entrada digital, ligar os 0V ao pino 32, e utilizando um condutor a 5V, ligar e desligar do pino 17.

Figura 38 : Simulação de uma entrada digital

Instrumentação e Electrotecnia Aplicada – 2007/2008 Aulas Práticas

Página : 36

Aquisição de um sinal analógico

A leitura de nível de depósitos é realizada através de sensores de nível utltrasónicos como os indicados na figura. Em função do nível a sonda gera uma tensão analógica de 0..10V ou uma corrente 4..20 mA, proporcional ao nível. Para simular a aplicação indicada, poderemos utilizar uma fonte de alimentação ligada ao módulo USB 6008, e realizar um pequeno programa para leitura da tensão analógica.

Figura 39 : Medição do nível - sonda ultrasónica

- Estação elevatória São Bento (SMA)

Figura 40 : Aquisição de um sinal analógico

Instrumentação e Electrotecnia Aplicada – 2007/2008 Aulas Práticas

Página : 37

Acesso ao modo de Assistência do Bloco (DAQ Assist Block)

Figura 42 : Assistência ao acesso a módulos

exteriores

Definição dos parâmetros de configuração:

• Selecção do tipo de sinal: Analog Input; • Definição de tipo de sinal analógico a utilizar: Tensão; • Selecção de qual das entradas a utilizar: ai0 – entrada analógica 0 • Finish

• Selecção dos níveis de sinais Max e

Minino (-20 a 20V);

• Selecção da escala de funcionamento;

• Selecção do tipo de sinal:

o RSE - Medição da tensão anaógica relativamente ao Ground (0V)

o Differencial – A medição é realizada entre os pinos de entrada e independente do Ground;

Na opcção de Connection Diagram, visualiza-se a qual dos pinos devem ser realizadas as ligações.

Figura 43 : Configuração da entrada analógica

Figura 41 : Selecção do tipo de sinal a adquirir

Instrumentação e Electrotecnia Aplicada – 2007/2008 Aulas Práticas

Página : 38

Sequência para a criação de um programa com entrada s analógicas Criação de programas para aceder ao módulo USB, através de funções específicas:

1. Criação do canal virtual, onde é definido o endereço, o tipo (entrada analógica, saída analógica, entrada ou saída digital, etc)

2. Definição do tipo e tempo de amostragem 3. Inicio de controlo 4. Comando de Leitura ou escrita 5. Paragem de processamento de entradas/saídas

Figura 44 : Funções de Acesso a Módulos Exteriores

2

3 4 5 1

Instrumentação e Electrotecnia Aplicada – 2007/2008 Aulas Práticas

Página : 39

Exemplo 11: Leitura entrada analógica, com indicaçã o numérica Leitura de uma entrada analógica com indicação numérica.

Figura 45 : “Diagram” - Leitura entrada analógica

Figura 46 : “Front Panel” - Leitura tensão analógica

Instrumentação e Electrotecnia Aplicada – 2007/2008 Aulas Práticas

Página : 40

Exemplo 12: Leitura entrada analógica continua

Figura 47 : Aquisição de um Canal Analógico

Figura 48 : Leitura de uma Tensão Analógica

Instrumentação e Electrotecnia Aplicada – 2007/2008 Aulas Práticas

Página : 41

Propriedades do gráfico:

Comentários gerais:

• A amostragem de uma onda é um array, constituído pelo valor analógico, pelo tempo inicial pelo valor analógico, e pelo incremento de tempo em que é realizada a leitura da onda;

• A função Array to cluster, permite separar cada um dos componentes; • Get Waveform components, permite retirar do array um dos elementos da onda: valor, tempo.

Através da opção “Select item – Botão do lado direito do rato” • Index array, permite extrair um elemento específico da onda; • O módulo indicado permite calcular o valor médio da onda;

Instrumentação e Electrotecnia Aplicada – 2007/2008 Aulas Práticas

Página : 42

Exemplo 13: Escrita de uma tensão analógica

Figura 49 : “Diagram” - Escrita de uma tensão analógica

Figura 50 : “Front Panel” - Escrita de uma tensão analógica

Instrumentação e Electrotecnia Aplicada – 2007/2008 Aulas Práticas

Página : 43

Exemplo 13: Osciloscópio em LabView

Figura 51 : Osciloscópio em PC

Figura 52 : “Block Diagram” - Osciloscópio em PC

Instrumentação e Electrotecnia Aplicada – 2007/2008 Aulas Práticas

Página : 44

Conceitos gerais para a realização do programa em LabView. o Samples per Channel – Numero de amostragens por canal. o Sample Rate (HZ) – Frequência de amostragem. o O tempo inicial e final depende do numero de pontos de amostragem por canal e a frequência de

amostragem definida. Por exemplo: o Samples per channel 1000 o Sample rate (HZ) 10000 Hz o Tempo de amostragem total 1000 * (1/10000) = 0,1 S

A onda visualizada corresponde a uma matriz de uma dimensão com a configuração indicada na figura, para o exemplo temos 1000 valores para a forma de onda visualizada. Valor máximo da onda pode ser extraído da matriz, procurando o valor máximo e memorizando o respectivo índice. Este processo pode ser simplificado utilizando a função: Array Max & Min, indicado na figura. Período da onda: Determinação de 2 pontos repetidos da onda, memorização dos índices associados. A diferença entre os 2 índices, indica-nos o período da onda. Está relacionado com Samples per channel (numero de amostragem por canal), Sample Rate (Hz) (frequência de amostragem), o período vem dado por: Samples per channel * 1/Sample Rate * Numero de pontos da matriz. Determinação do valor do condensador: Determinação do valor mínimo e do valor máximo da onda, determinação do valor e do índice da onda quando este atinge 95% do valor máximo. Convertendo o índice do valor correspondente a 95% em tempo (s) (considerando o numero de amostragens e com a frequência de amostragem), obtemos as 3 constantes de tempo, 3 RC e conhecendo o valor da resistência podemos calcular o valor de RC.

Instrumentação e Electrotecnia Aplicada – 2007/2008 Aulas Práticas

Página : 45

Exemplo 14: Activação saída digital

Figura 53 : Exemplo escrita saída digital

Permite a activar diferentes valores na saída digital.

Exemplo 15: Leitura entrada digital

Figura 54 : Leitura entrada digital

Instrumentação e Electrotecnia Aplicada – 2007/2008 Aulas Práticas

Página : 46

LabVIEW - Ficheiros Objectivo: Apresentação das funções, de leitura e escrita de texto em ficheiros.

Exemplo 16: Escrita de string’s em ficheiro (Ver p ág. 7-18). Escrita de uma “strings” no disco duro do computador. Função: - Write Characters To File.vi Notas de utilização: - Definição do nome e caminho do ficheiro - Campo para escrever o texto - “Append to File” ou “New File”

- Comando para gravar o ficheiro, para evitar estar sempre a gravar. Só será gravado com um comando “Gravar em Ficheiro”:

- “Mechanical action” (permite criar um impulso para gravar) - Criar por software a anulação do comando de gravação, dentro do

ciclo “If-Then-Else”.

Figura 55 : Escrita de Texto em Ficheiro

Instrumentação e Electrotecnia Aplicada – 2007/2008 Aulas Práticas

Página : 47

Exemplo 17 : Escrita de Dados em ficheiro, com for mato EXCEL. Escrita de uma matriz de uma ou duas dimensões no disco duro do computador. Função: - Write To Spreadsheet File.vi Notas de utilização: - Definição do nome e caminho do ficheiro - Campo para escrever o texto - “Append to File” ou “New File” - Comando para gravar o ficheiro, para evitar estar consecutivamente a gravar: - Mechanical action (permite criar um impulso para gravar) - Criar por software a anulação do comando de gravação.

Figura 56 : Escrita de Dados em Ficheiro com formato Excel

Exemplo 18: Leitura de dados de um ficheiro de te xto.

Figura 57 : Leitura de dados de um ficheiro de texto

Instrumentação e Electrotecnia Aplicada – 2007/2008 Aulas Práticas

Página : 48

Exemplo 19: Leitura de dados de um ficheiro, com formato excel.

Figura 58 : Leitura de dados de um ficheiro com formato Excel

Instrumentação e Electrotecnia Aplicada – 2007/2008 Aulas Práticas

Página : 49

Exemplo 20: Monitorização de um forno de revenido. Realizar a monitorização de um forno, da empresa Cerâmicas do Vouga Lda. Visualizar a temperatura do forno e o estado dos queimadores de gás (on/off) responsáveis pelo aquecimento do forno. A temperatura e o estado dos queimadores, serão simulados por um control numérico e um control booleano. A temperatura pode variar entre 0 e 500ºC. As variáveis referidas, devem ser escritas em ficheiro de 30 em 30 segundos com a seguinte configuração:

Data Hora Temperatura Estado de funcionamento dos queimadores de gás.

A leitura da data e da hora é realizada através da função: Get Date/Time String A escrita dos dados em ficheiro devem ser espaçados, para uma leitura simples.

Figura 59 : Programa para a monitorização de um forno.

Instrumentação e Electrotecnia Aplicada – 2007/2008 Aulas Práticas

Página : 50

Trabalho Prático Nº1 – Monitorização de um reservat ório de água

Implementar um programa em Labview, para monitorizar o nível de água de um reservatório e o estado de funcionamento do mesmo. Num reservatório de água a variação do nível de água é um processo contínuo e lento, em função do consumo de água. Existe um computador central para leitura da informação de uma sensor de nível ultra sónico, que gera um sinal analógico de 0..10V, sendo necessário converter para um valor 0..100% no programa em LabView. As informações relevantes são:

- O nível de água - Estado de funcionamento do sistema - Leitura da data e hora actual do sistema

Para implementar o sistema, utilizar uma fonte de alimentação variável, para simular o sensor de nível ultrasónico, um módulo de aquisição USB-6008 da NI e o comutador pessoal com o LabView para implementar o sistema. Os dados processados pelo computador central devem ser enviados pela porta série, permitindo a monitorização do sistema remoto, deve ter a possibilidade de envio de mensagens para o computador de processo.

Na realização do trabalho deverá ter em consideração:

• Organização do programa em “Block Diagram”

• Apresentação simples e cuidada do “Front Panel”

• Comentários para explicar o funcionamento do programa.

O programa deve considerar:

• Leitura da data e hora de sistema. • Leitura do nível da água • Estado digital do estado de funcionamento do sistema. • Registo em ficheiro de texto dos parâmetros referidos.

Entregar o relatório, constituído pela listagem do programa com comentários.

Leitura do nível de 0..10V

USB-6008Interface USB

Reservatório Ligado

Instrumentação e Electrotecnia Aplicada – 2007/2008 Aulas Práticas

Página : 51

Labview – Comunicações RS232

Neste capitulo pretende-se apresentar e explicar as funções necessárias para aceder e poder comunicar pela porta série RS232. As funções de configuração e acesso das portas série estão disponíveis na livraria indicada na figura:

Figura 60 : Acesso às funções de configuração e acesso da porta série

Exemplo Nº 22 Leitura e escrita de strings

utilizando a porta série.

1 - Instrument I/O

2 - Serial

Instrumentação e Electrotecnia Aplicada – 2007/2008 Aulas Práticas

Página : 52

Figura 61 : Block Diagram e Front Panel - Escrita/Leitura dados pela porta série

Exemplo Nº 23 Leitura/Escrita dados pela porta série com controlo de dados (Placa PIC, acesso de dados)

Figura 62 : Comunicação Série com uma placa de aquisição de dados PIC

Instrumentação e Electrotecnia Aplicada – 2007/2008 Aulas Práticas

Página : 53

Exemplo Nº 24 É vulgar o cálculo do CheckSum, para verificar a existência de erros na transmissão de dados. O emissor calcula o valor do CheckSum e acrescenta-o a mensagem a enviar. O receptor recebe a mensagem e retira da mensagem o valor do CheckSum. Calcula o valor do CheckSum e compara-o com o valor do checksum recebido se for igual a mensagem está correcta, se for diferente indica que houve erro na transmissão de dados.

Figura 63 : Exemplo de Cálculo do CheckSum

Instrumentação e Electrotecnia Aplicada – 2007/2008 Aulas Práticas

Página : 54

Labview – Comunicações DDE

Exemplo 26: Pretende-se desenvolver uma aplicação em Labview capaz de escrever ou ler dados no Excel, mais exactamente nas células de uma folha de Cálculo do Excel. Objectivos: Apresentação das funções necessárias à criação de uma aplicação DDE “Cliente”. Cada servidor DDE, como o Excel, disponibiliza para as outras aplicações Windows um conjunto de itens “Item” através dos quais se podem transferir dados.

Figura 64 : Comunicações DDE

Instrumentação e Electrotecnia Aplicada – 2007/2008 Aulas Práticas

Página : 55

Exemplo 27: Pretende-se desenvolver duas aplicações Windows capazes de comunicarem entre si. Estas aplicações deverão permitir que uma mensagem de texto escrito por um utilizador numa delas possa ser recebida e visualizada na outra aplicação (Unidireccional). O diagrama da aplicação “Cliente” e aplicação “Servidora” são apresentados na figura seguinte. Os alunos deverão editar e testar estes programas verificando que podem transferir informação da aplicação “Servidora” para a aplicação “Cliente”. Objectivos: Familiarização com as funções DDE/Servidor disponíveis no Labview.

Instrumentação e Electrotecnia Aplicada – 2007/2008 Aulas Práticas

Página : 56

Exemplo 28: Pretende-se também transferir informação da aplicaç ão “Cliente“ para a aplicação “Servidora” (Bidireccional ) para isso devemos criar um segundo “Item”. O painel de cada uma das aplicações passará a dispor de uma janela de escrita e de uma janela de leitura, como se ilustra na figura seguinte. Objectivos: Aplicação de conhecimentos a novas situações e familiarização com as funções DDE disponíveis no Labview.

Exemplo 29: Pretende-se reorganizar o programa “Cliente” e o programa “Servidor” utilizando sub vi. Deverão ser criados os programas que a seguir se descrevem: Srv.vi, RxSrv.vi, TxSrv.vi; Clt.vi, RxClt.vi, TxClt.vi Objectivos: Aprender e utilizar sub vi para organizar programas em módulos de fácil leitura e utilização.

Clt.vi

TxClt.vi

RxClt.vi TxClt.vi

RxClt.vi

Srv.vi

Ambiente Windows

CltSrv

SrvClt

Itens DDE

O programa “Srv.vi” é responsável pela criação (Server, Iem) e destruição do Serviço, Tópico e itens DDE. O programa “TxSrv.vi” é responsável pela criação do painel de escrita de mensagens e pelo envio das mesmas (Set) para a aplicação Cliente. O programa “RxSrv.vi” é responsável pela leitura (Check), processamento e visualização das mensagens recebidas.

Instrumentação e Electrotecnia Aplicada – 2007/2008 Aulas Práticas

Página : 57

O programa “Clt.vi” é responsável pela abertura (Open)da ligação DDE ao servidor (Serviço, Tópico). O programa “TxClt.vi” é responsável pela criação do painel de escrita de mensagens e pelo envio das mesmas (Poke) para a aplicação Servidora. O programa “RxClt.vi” é responsável pela leitura (Request), processamento e visualização das mensagens recebidas.

Exemplo 30: Pretende-se implementar algumas condições de envio e recepção. • Qualquer das aplicações só deve enviar dados para a outra, se o Item de envio estiver limpo “Empty string” • A aplicação que recebe informação, após ter processado e visualizado a informação, deve limpar o Item DDE. • Cada uma das aplicações só deve receber e processar informação se o seu Item de recepção for diferente de “Empty String”. • Cada uma das aplicações só deve escrever dados no Item de envio se tiver dados para enviar, ou seja, a sua “string” local de envio for diferente de “Empty String”. • Assim cada aplicação após ter escrito (Set ou Poke) uma “string” no Item de envio deve limpar essa “string” local.

Enviar StrStrTx

(Poke)

Limpar String LocalStrTx

Aplicação Cliente

Ler ItemCltSrv

(Check)

Limpar Item CltSrv

(Set)

Aplicação Servidora

1º fase 2º fase 3º 4º

CltSrv

SrvClt

Enviar StrStrTx(Set)

Limpar String LocalStrTx

1º 2ºLer ItemSrvClt

(Request)

Limpar Item SrvClt

(Poke)

3º4º

Se StrTx < > “”executa a fase 1 e 2

Se o item StrClt < > “”executa a fase 1 e 2

Se o item CltSrv < > “”executa a fase 1 e 2

Se StrTx < > “”executa a fase 1 e 2

Instrumentação e Electrotecnia Aplicada – 2007/2008 Aulas Práticas

Página : 58

Exemplo 31: Programa “ DDE Cliente”

Instrumentação e Electrotecnia Aplicada – 2007/2008 Aulas Práticas

Página : 59

Exemplo 32: Programa “ DDE Cliente com oito itens” Criar uma aplicação Cliente e uma aplicação Servidora. A aplicação servidora pode fazer pedidos a várias aplicações clientes, as aplicações clientes só deverão visualizar os pedidos que se destinarem a elas, por exemplo uma aplicação cliente terá o endereço de destino “1”. A aplicação cliente poderá também responder à aplicação servidora confirmando um pedido que a aplicação servidora tenha feito anteriormente.

Acrescentar um botão na aplicação servidora que ao ser premido preencha os vários campos da mensagem a ser enviada para a aplicação cliente. Acrescentar um botão na aplicação cliente que ao ser premido preencha os vários campos da mensagem de resposta a uma pedido feito pela aplicação servidora.

Instrumentação e Electrotecnia Aplicada – 2007/2008 Aulas Práticas

Página : 60

Bibliografia http://en.wikipedia.org/wiki/LabView http://en.wikipedia.org/wiki/Rankine http://en.wikipedia.org/wiki/Rankine http://techteach.no/tekdok/usb6009/index.htm http://www.ifmefector.com/ifmmx/web/level_detection.htm