43
INTRODUÇÃO AO OBJECTIVOS: o Introdução ao ambiente LabVIEW o Modelo de programação em G o Conceito de instrumentos virtuais (VI) o Aquisição e Data Logging 1 ©2010 João Paulo Coelho ©2010 João Paulo Coelho

INTRODUÇÃO AOjpcoelho/IEM/Aulas_Teoricas_C6.pdf · ©2010 João Paulo Coelho. 3.0 Sinais e Gráficos Realizar um programa que apresente, num gráfico, um sinal sinusoidal contaminado

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: INTRODUÇÃO AOjpcoelho/IEM/Aulas_Teoricas_C6.pdf · ©2010 João Paulo Coelho. 3.0 Sinais e Gráficos Realizar um programa que apresente, num gráfico, um sinal sinusoidal contaminado

INTRODUÇÃO AOOBJECTIVOS:o Introdução ao ambiente LabVIEWço Modelo de programação em Go Conceito de instrumentos virtuais (VI)o Aquisição e Data Logging

1

©2010 João Paulo Coelho©2010 João Paulo Coelho

Page 2: INTRODUÇÃO AOjpcoelho/IEM/Aulas_Teoricas_C6.pdf · ©2010 João Paulo Coelho. 3.0 Sinais e Gráficos Realizar um programa que apresente, num gráfico, um sinal sinusoidal contaminado

1.0 Instrumentos Virtuais

• O LabVIEW funciona segundo um modelo de fluxo de dados.

• Um programa é designado por «Virtual• Um programa é designado por «Virtual Instrument» ou VI.

• A informação flui de «fontes» para «drenos» através de ligações.g ç

• A informação (dados) são alterados ao longo ddo percurso.

2

©2010 João Paulo Coelho

Page 3: INTRODUÇÃO AOjpcoelho/IEM/Aulas_Teoricas_C6.pdf · ©2010 João Paulo Coelho. 3.0 Sinais e Gráficos Realizar um programa que apresente, num gráfico, um sinal sinusoidal contaminado

1.1. Instrumentos Virtuais

• O LabVIEW suporta dois tipos de VI:– VI internos– VI criados pelo utilizadorp

• VI internos são fornecidos pela aplicação e executam tarefas básicasexecutam tarefas básicas.

• VI criados pelo utilizador consistem num GUI e di d ble e num diagrama de blocos.

• Um programa em LabVIEW é definido sob 

3

duas plataformas:

©2010 João Paulo Coelho

Page 4: INTRODUÇÃO AOjpcoelho/IEM/Aulas_Teoricas_C6.pdf · ©2010 João Paulo Coelho. 3.0 Sinais e Gráficos Realizar um programa que apresente, num gráfico, um sinal sinusoidal contaminado

1.3. Instrumentos Virtuais

• FONT‐END– Permite interagir directamente com o utilizador.

Apresenta informação sobre o processo a– Apresenta informação sobre o processo a monitorizar ou controlar.

P it tili d difi â t d– Permite ao utilizador modificar parâmetros do sistema (SCADA)

4

©2010 João Paulo Coelho

Page 5: INTRODUÇÃO AOjpcoelho/IEM/Aulas_Teoricas_C6.pdf · ©2010 João Paulo Coelho. 3.0 Sinais e Gráficos Realizar um programa que apresente, num gráfico, um sinal sinusoidal contaminado

1.3. Instrumentos Virtuais

• BACK‐END– Programa por detrás do FRONT‐END.

Programação feita numa linguagem gráfica: G– Programação feita numa linguagem gráfica: G

– Tem a forma de um (ou múltiplos) diagramas de blblocos.

– Permite a realização de tarefas concorrentes

5

©2010 João Paulo Coelho

Page 6: INTRODUÇÃO AOjpcoelho/IEM/Aulas_Teoricas_C6.pdf · ©2010 João Paulo Coelho. 3.0 Sinais e Gráficos Realizar um programa que apresente, num gráfico, um sinal sinusoidal contaminado

2.0 Construção de um VI

New VI

6

©2010 João Paulo Coelho

Page 7: INTRODUÇÃO AOjpcoelho/IEM/Aulas_Teoricas_C6.pdf · ©2010 João Paulo Coelho. 3.0 Sinais e Gráficos Realizar um programa que apresente, num gráfico, um sinal sinusoidal contaminado

2.1 Painel Frontal

‘’Botão’’ direito do ‘’Rato’’ sobre painel frontal abre lista de pCONTROLOS

Numeric Indicators[Num Inds][M t ]

Arrastar o objecto e posicioná‐lo no painel frontal.Observe o objecto que é criado 

7

[Num Inds][Meter]na janela do diagrama de blocos.

©2010 João Paulo Coelho

Page 8: INTRODUÇÃO AOjpcoelho/IEM/Aulas_Teoricas_C6.pdf · ©2010 João Paulo Coelho. 3.0 Sinais e Gráficos Realizar um programa que apresente, num gráfico, um sinal sinusoidal contaminado

2.2 Painel Frontal

‘’Botão’’ direito do ‘’Rato’’ sobre painel frontal

[Knob]

8

©2010 João Paulo Coelho

Page 9: INTRODUÇÃO AOjpcoelho/IEM/Aulas_Teoricas_C6.pdf · ©2010 João Paulo Coelho. 3.0 Sinais e Gráficos Realizar um programa que apresente, num gráfico, um sinal sinusoidal contaminado

2.3 Painel Frontal

1 E t li ã t d i1 – Executar a ligação entre os dois blocos na janela ‘’ Block Diagram’’

2 Executar Programa2 – Executar Programa [Run Continuously]

3 – Com ajuda do ‘’Rato’’ girar o

9

3  Com ajuda do  Rato  girar o botão rotativo ‘’Knob’’ e observar o movimento do painel de medida.

©2010 João Paulo Coelho

Page 10: INTRODUÇÃO AOjpcoelho/IEM/Aulas_Teoricas_C6.pdf · ©2010 João Paulo Coelho. 3.0 Sinais e Gráficos Realizar um programa que apresente, num gráfico, um sinal sinusoidal contaminado

2.4 Diagrama de Blocos

1 – Abrir caixa de ferramentas2 – Seleccionar [Edit Text]3 – Alterar o nome dos controlos.

4 – Inserir ‘’Pointer SLIDER’’2 Inserir ‘’LED’’ [Round LED]2 – Inserir ‘’LED’’  [Round LED]3 – Alterar cor do LED: 

Apagado = PretoAceso = Vermelho

10

Aceso = Vermelho

©2010 João Paulo Coelho

Page 11: INTRODUÇÃO AOjpcoelho/IEM/Aulas_Teoricas_C6.pdf · ©2010 João Paulo Coelho. 3.0 Sinais e Gráficos Realizar um programa que apresente, num gráfico, um sinal sinusoidal contaminado

2.5 Diagrama de Blocos +

Realizar um programa que acenda oRealizar um programa que acenda o LED sempre que a temperatura for superior ao ‘’SET‐POINT’’

1 – Inserir COMPARISION no diagrama de blocos2 – Efectuar as seguintes ligaçõesNota: É necessário editar as 

i d d d bl

11

propriedades do bloco COMPARISION de modo a admitir duas variáveis de entrada…

©2010 João Paulo Coelho

Page 12: INTRODUÇÃO AOjpcoelho/IEM/Aulas_Teoricas_C6.pdf · ©2010 João Paulo Coelho. 3.0 Sinais e Gráficos Realizar um programa que apresente, num gráfico, um sinal sinusoidal contaminado

3.0 Sinais e Gráficos

Realizar um programa que apresente, num gráfico, um sinal sinusoidal contaminado com ruído branco. A relação sinal/ruído deve poder ser alterada através de um ‘’potenciómetro’’

3 – Inserir SINAL

12

1 – Inserir Gráfico2 – Inserir ‘’KNOB’’

©2010 João Paulo Coelho

Page 13: INTRODUÇÃO AOjpcoelho/IEM/Aulas_Teoricas_C6.pdf · ©2010 João Paulo Coelho. 3.0 Sinais e Gráficos Realizar um programa que apresente, num gráfico, um sinal sinusoidal contaminado

3.1 Sinais e Gráficos

1 – Alterar propriedades do SIGNAL

2 – Alterar propriedade

13

3 – Realizar as ligações…

2  Alterar propriedade do ‘KNOB’

©2010 João Paulo Coelho

Page 14: INTRODUÇÃO AOjpcoelho/IEM/Aulas_Teoricas_C6.pdf · ©2010 João Paulo Coelho. 3.0 Sinais e Gráficos Realizar um programa que apresente, num gráfico, um sinal sinusoidal contaminado

3.2 Sinais e Gráficos

1 – Simular…

Girar o POT e verificar a evolução da forma de onda.

• Observações:– No front‐end existem indicadores e controlos

– Qualquer controlo pode ser convertido num

14

Qualquer controlo pode ser convertido num indicador e vice‐versa.

©2010 João Paulo Coelho

Page 15: INTRODUÇÃO AOjpcoelho/IEM/Aulas_Teoricas_C6.pdf · ©2010 João Paulo Coelho. 3.0 Sinais e Gráficos Realizar um programa que apresente, num gráfico, um sinal sinusoidal contaminado

4.0 Operações Lógicas e Aritméticas

• Máquina de somar simples

ã d li b ã “ ”

15

• A operação deve realizar‐se sempre que o botão “Executa” é premido.

©2010 João Paulo Coelho

Page 16: INTRODUÇÃO AOjpcoelho/IEM/Aulas_Teoricas_C6.pdf · ©2010 João Paulo Coelho. 3.0 Sinais e Gráficos Realizar um programa que apresente, num gráfico, um sinal sinusoidal contaminado

4.1 Operações Lógicas e Aritméticas

• Diagrama lógico

16

©2010 João Paulo Coelho

Page 17: INTRODUÇÃO AOjpcoelho/IEM/Aulas_Teoricas_C6.pdf · ©2010 João Paulo Coelho. 3.0 Sinais e Gráficos Realizar um programa que apresente, num gráfico, um sinal sinusoidal contaminado

4.0 Estruturas de Controlo

• Para além dos controlos, indicadores e VI, um diagrama de blocos pode também conterdiagrama de blocos pode também conter sequências para controlo de fluxo de dados.

• O LabVIEW suporta seis tipos de estruturas deO LabVIEW suporta seis tipos de estruturas de controlo:– Ciclos WHILEc os– Ciclos FOR– Estruturas condicionais CASE– Estruturas de eventos– Estruturas de Sequencias

17

– Fórmulas

©2010 João Paulo Coelho

Page 18: INTRODUÇÃO AOjpcoelho/IEM/Aulas_Teoricas_C6.pdf · ©2010 João Paulo Coelho. 3.0 Sinais e Gráficos Realizar um programa que apresente, num gráfico, um sinal sinusoidal contaminado

4.1 Ciclos WHILE

• Executa um conjunto de operações ATÉ que uma condição lógica seja satisfeitacondição lógica seja satisfeita.

• A estrutura WHILE já contém o seu próprio contador [i] que inicia em zero e incrementa

18

©2010 João Paulo Coelho

Page 19: INTRODUÇÃO AOjpcoelho/IEM/Aulas_Teoricas_C6.pdf · ©2010 João Paulo Coelho. 3.0 Sinais e Gráficos Realizar um programa que apresente, num gráfico, um sinal sinusoidal contaminado

4.2 Ciclos WHILE

• Terminar o ciclo se o utilizador pressionar STOP ou a amplitude de um sinal sinusoidal atingir oou a amplitude de um sinal sinusoidal atingir o valor 0.9.

19

©2010 João Paulo Coelho

Page 20: INTRODUÇÃO AOjpcoelho/IEM/Aulas_Teoricas_C6.pdf · ©2010 João Paulo Coelho. 3.0 Sinais e Gráficos Realizar um programa que apresente, num gráfico, um sinal sinusoidal contaminado

4.3 Ciclos WHILE

• Execução, em paralelo, de dois ciclos WHILE.

20

©2010 João Paulo Coelho

Page 21: INTRODUÇÃO AOjpcoelho/IEM/Aulas_Teoricas_C6.pdf · ©2010 João Paulo Coelho. 3.0 Sinais e Gráficos Realizar um programa que apresente, num gráfico, um sinal sinusoidal contaminado

4.4 Ciclos WHILE

• Túneis• Virtualmente qualquer estrutura pode ter entradasVirtualmente qualquer estrutura pode ter entradas e saídas

• Ligações que passam para dentro e fora de Ú

g ç q p pestruturas são designadas por TÚNEIS

21

©2010 João Paulo Coelho

Page 22: INTRODUÇÃO AOjpcoelho/IEM/Aulas_Teoricas_C6.pdf · ©2010 João Paulo Coelho. 3.0 Sinais e Gráficos Realizar um programa que apresente, num gráfico, um sinal sinusoidal contaminado

5.0 Estrutura CASE

• Um selector CASE localizado numa estrutura CASE t li d f t d d dCASE encontra‐se ligada a uma fonte de dados.

• Apenas uma condição é vista de cada vez.

22

©2010 João Paulo Coelho

Page 23: INTRODUÇÃO AOjpcoelho/IEM/Aulas_Teoricas_C6.pdf · ©2010 João Paulo Coelho. 3.0 Sinais e Gráficos Realizar um programa que apresente, num gráfico, um sinal sinusoidal contaminado

5.1 Estrutura CASE

CAS

ÕES

LÓGIC

CONDIÇÕ

•C

23

©2010 João Paulo Coelho

Page 24: INTRODUÇÃO AOjpcoelho/IEM/Aulas_Teoricas_C6.pdf · ©2010 João Paulo Coelho. 3.0 Sinais e Gráficos Realizar um programa que apresente, num gráfico, um sinal sinusoidal contaminado

5.2 Estrutura CASE

CAS

ÕES

LÓGIC

CONDIÇÕ

•C

24

©2010 João Paulo Coelho

Page 25: INTRODUÇÃO AOjpcoelho/IEM/Aulas_Teoricas_C6.pdf · ©2010 João Paulo Coelho. 3.0 Sinais e Gráficos Realizar um programa que apresente, num gráfico, um sinal sinusoidal contaminado

5.3 Estrutura CASEIROS

ES:INTEI

ONDIÇÕE

•CO

25

©2010 João Paulo Coelho

Page 26: INTRODUÇÃO AOjpcoelho/IEM/Aulas_Teoricas_C6.pdf · ©2010 João Paulo Coelho. 3.0 Sinais e Gráficos Realizar um programa que apresente, num gráfico, um sinal sinusoidal contaminado

5.4 Estrutura CASE

26

©2010 João Paulo Coelho

Page 27: INTRODUÇÃO AOjpcoelho/IEM/Aulas_Teoricas_C6.pdf · ©2010 João Paulo Coelho. 3.0 Sinais e Gráficos Realizar um programa que apresente, num gráfico, um sinal sinusoidal contaminado

5.5 Estrutura CASE

CASE dentro 

NGS

de WHILE

ES:STR

INONDIÇÕ

•CO

27

©2010 João Paulo Coelho

Page 28: INTRODUÇÃO AOjpcoelho/IEM/Aulas_Teoricas_C6.pdf · ©2010 João Paulo Coelho. 3.0 Sinais e Gráficos Realizar um programa que apresente, num gráfico, um sinal sinusoidal contaminado

• Trabalhos para Casa:– Cria um VI, chamado projecto1.vi que tenha um controlo booleano e uma string indicadora no painel frontal. Quando o controlo tiver o valor lógico “verdadeiro” a string deve indicar “Verdadeiro”. Se o controlo for “falso” a string deve mudar para “Falso”.

– Adiciona mais um controlo booleano ao painel frontal. Utiliza a operação AND dos dois controlos booleanos fazendo com que a string acompanhe o valor lógico 

lresultante.

28

©2010 João Paulo Coelho

Page 29: INTRODUÇÃO AOjpcoelho/IEM/Aulas_Teoricas_C6.pdf · ©2010 João Paulo Coelho. 3.0 Sinais e Gráficos Realizar um programa que apresente, num gráfico, um sinal sinusoidal contaminado

6 Sequências

• Por defeito, no diagrama de blocos, todos os eventos ocorrem de forma concorrenteeventos ocorrem de forma concorrente.

• A necessiade de execução de diagramas i l t i li tili ã dsequencialmente implica a utilização de uma 

estrutura de sequências:

29

©2010 João Paulo Coelho

Page 30: INTRODUÇÃO AOjpcoelho/IEM/Aulas_Teoricas_C6.pdf · ©2010 João Paulo Coelho. 3.0 Sinais e Gráficos Realizar um programa que apresente, num gráfico, um sinal sinusoidal contaminado

6.1 Sequências

• Sequências planas (flat sequences)d d d d– São sempre executadas da esquerda para a direita

– É iniciado apenas com uma “frame” e permite a adição de outros quadros

30

©2010 João Paulo Coelho

Page 31: INTRODUÇÃO AOjpcoelho/IEM/Aulas_Teoricas_C6.pdf · ©2010 João Paulo Coelho. 3.0 Sinais e Gráficos Realizar um programa que apresente, num gráfico, um sinal sinusoidal contaminado

6.2 Sequências

31

©2010 João Paulo Coelho

Page 32: INTRODUÇÃO AOjpcoelho/IEM/Aulas_Teoricas_C6.pdf · ©2010 João Paulo Coelho. 3.0 Sinais e Gráficos Realizar um programa que apresente, num gráfico, um sinal sinusoidal contaminado

6.3 Sequências

32

©2010 João Paulo Coelho

Page 33: INTRODUÇÃO AOjpcoelho/IEM/Aulas_Teoricas_C6.pdf · ©2010 João Paulo Coelho. 3.0 Sinais e Gráficos Realizar um programa que apresente, num gráfico, um sinal sinusoidal contaminado

7 Aquisição de Dados

• Aquisição de Dados:

• Placa de Som

• DAQ• DAQ

• “Data Logging”:

• Escrita de dados em ficheiro

• Leitura de dados de ficheiros• Leitura de dados de ficheiros

33

©2010 João Paulo Coelho

Page 34: INTRODUÇÃO AOjpcoelho/IEM/Aulas_Teoricas_C6.pdf · ©2010 João Paulo Coelho. 3.0 Sinais e Gráficos Realizar um programa que apresente, num gráfico, um sinal sinusoidal contaminado

7.1 Placa de Som

• Aquisição e apresentação de 1 segundo de btid d i fsom obtido do microfone.

Um canal apenas…

34

©2010 João Paulo Coelho

Page 35: INTRODUÇÃO AOjpcoelho/IEM/Aulas_Teoricas_C6.pdf · ©2010 João Paulo Coelho. 3.0 Sinais e Gráficos Realizar um programa que apresente, num gráfico, um sinal sinusoidal contaminado

7.2 Placa de Som

35

©2010 João Paulo Coelho

Page 36: INTRODUÇÃO AOjpcoelho/IEM/Aulas_Teoricas_C6.pdf · ©2010 João Paulo Coelho. 3.0 Sinais e Gráficos Realizar um programa que apresente, num gráfico, um sinal sinusoidal contaminado

7.3 Placa de Som

• Repetir agora para STEREO.C d l dif t áfi !• Cada canal em diferente gráfico!

36

©2010 João Paulo Coelho

Page 37: INTRODUÇÃO AOjpcoelho/IEM/Aulas_Teoricas_C6.pdf · ©2010 João Paulo Coelho. 3.0 Sinais e Gráficos Realizar um programa que apresente, num gráfico, um sinal sinusoidal contaminado

7.4 Placa de Som

37

©2010 João Paulo Coelho

Page 38: INTRODUÇÃO AOjpcoelho/IEM/Aulas_Teoricas_C6.pdf · ©2010 João Paulo Coelho. 3.0 Sinais e Gráficos Realizar um programa que apresente, num gráfico, um sinal sinusoidal contaminado

7.5 Placa de Som

38

©2010 João Paulo Coelho

Page 39: INTRODUÇÃO AOjpcoelho/IEM/Aulas_Teoricas_C6.pdf · ©2010 João Paulo Coelho. 3.0 Sinais e Gráficos Realizar um programa que apresente, num gráfico, um sinal sinusoidal contaminado

8 DAQ – NI USB 6008

39

©2010 João Paulo Coelho

Page 40: INTRODUÇÃO AOjpcoelho/IEM/Aulas_Teoricas_C6.pdf · ©2010 João Paulo Coelho. 3.0 Sinais e Gráficos Realizar um programa que apresente, num gráfico, um sinal sinusoidal contaminado

CONVERTER TYPE ........................................SUCCESSIVE APPROXIMATIONANALOG INPUTS..........................8 SINGLE‐ENDED, 4 DIFFERENTIAL,SOFTWARE SELECTABLEINPUT RESOLUTION........................................12 BITS DIFFERENTIAL, 11 BITS SINGLE‐ENDEDINPUT RESOLUTION........................................12 BITS DIFFERENTIAL, 11 BITS SINGLE ENDEDMAX SAMPLING RATE.................................10 KS/SSINGLE‐ENDED....................................±10 VDIFFERENTIAL ......................................±20 V, ±10 V, ±5 V, ±4 V,±2.5 V, ±2 V, ±1.25 V, ±1 VWORKING VOLTAGE 10 VWORKING VOLTAGE .....................................±10 VINPUT IMPEDANCE .....................................144 KΩOVERVOLTAGE PROTECTION ...........................±35

40

©2010 João Paulo Coelho

Page 41: INTRODUÇÃO AOjpcoelho/IEM/Aulas_Teoricas_C6.pdf · ©2010 João Paulo Coelho. 3.0 Sinais e Gráficos Realizar um programa que apresente, num gráfico, um sinal sinusoidal contaminado

CONVERTER TYPE........................................ SUCCESSIVE APPROXIMATIONANALOG OUTPUTS ....................................... 2OUTPUT RESOLUTION.................................... 12 BITSOUTPUT RESOLUTION.................................... 12 BITSMAXIMUM UPDATE RATE ............................ 150 HZ, SOFTWARE‐TIMEDOUTPUT RANGE........................................... 0 TO +5 VOUTPUT IMPEDANCE .................................. 50 ΩOUTPUT CURRENT DRIVE 5 AOUTPUT CURRENT DRIVE................................5 mAPOWER‐ON STATE ........................................0 VSLEW RATE .................................................1 V/mSSHORT CIRCUIT CURRENT ................................50 mASHORT CIRCUIT CURRENT ................................50 mA

41

©2010 João Paulo Coelho

Page 42: INTRODUÇÃO AOjpcoelho/IEM/Aulas_Teoricas_C6.pdf · ©2010 João Paulo Coelho. 3.0 Sinais e Gráficos Realizar um programa que apresente, num gráfico, um sinal sinusoidal contaminado

DIGITAL I/OP0.<0..7> .........................................8 LINESPI.<0..3> ..........................................4 LINESDIRECTION CONTROL.........EACH CHANNEL INDIVIDUALLY PROGRAMMABLE AS IOOUTPUT DRIVER TYPE........................................OPEN COLLECTOR (OPEN‐DRAIN)COMPATIBILITY TTL LVTTL CMOSCOMPATIBILITY ..........................................TTL, LVTTL, CMOSABSOLUTE MAXIMUM VOLTAGE RANGE..........–0.5 TO 5.8 V WITH RESPECT TO GNDPULL‐UP RESISTOR........................................4.7 KΩ TO 5 

42

©2010 João Paulo Coelho

Page 43: INTRODUÇÃO AOjpcoelho/IEM/Aulas_Teoricas_C6.pdf · ©2010 João Paulo Coelho. 3.0 Sinais e Gráficos Realizar um programa que apresente, num gráfico, um sinal sinusoidal contaminado

8 Ensaio 1: A/D

+5v(31)

DAQ Board

+5v(31)

AI0 (2)

Gnd (32)

43

©2010 João Paulo Coelho